From c5a75bf493e9c25857e2790c6240562be401f761 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 15 Nov 2005 23:06:24 +0000 Subject: [PATCH] shutdown channel if tune fails --- lib/dvb/dvb.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 0201b337..32c7ea31 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -491,7 +491,18 @@ RESULT eDVBChannel::setChannel(const eDVBChannelID &channelid) m_channel_id = channelid; m_mgr->addChannel(channelid, this); m_state = state_tuning; - return m_frontend->get().tune(*feparm); + /* if tuning fails, shutdown the channel immediately. */ + int res; + res = m_frontend->get().tune(*feparm); + + if (res) + { + m_state = state_release; + m_stateChanged(this); + return res; + } + + return 0; } RESULT eDVBChannel::connectStateChange(const Slot1 &stateChange, ePtr &connection) -- 2.30.2