aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pmt.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-11-09 17:31:11 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-11-09 17:31:11 +0000
commitc2f1a638b1eb861d1a8e97530adfcefd65ff6ac0 (patch)
treee9dcd978df830b03690a5502362275dc666bddbc /lib/dvb/pmt.cpp
parentefd666f5dfe5a6d355d0ba60683c9457714f75e9 (diff)
downloadenigma2-c2f1a638b1eb861d1a8e97530adfcefd65ff6ac0.tar.gz
enigma2-c2f1a638b1eb861d1a8e97530adfcefd65ff6ac0.zip
differentiate between failures while and after tuning
Diffstat (limited to 'lib/dvb/pmt.cpp')
-rw-r--r--lib/dvb/pmt.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index 538264db..d7186d5c 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -44,6 +44,11 @@ void eDVBServicePMTHandler::channelStateChanged(iDVBChannel *channel)
if ( m_service && !m_service->cacheEmpty() )
serviceEvent(eventNewProgramInfo);
}
+ } else if ((m_last_channel_state != iDVBChannel::state_failed) &&
+ (state == iDVBChannel::state_failed))
+ {
+ eDebug("tune failed.");
+ serviceEvent(eventTuneFailed);
}
}
@@ -206,6 +211,7 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref)
eDVBChannelID chid;
ref.getChannelID(chid);
res = m_resourceManager->allocateChannel(chid, m_channel);
+ eDebug("allocate Channel: res %d", res);
} else
{
eDVBMetaParser parser;
@@ -230,6 +236,10 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref)
m_channelStateChanged_connection);
m_last_channel_state = -1;
channelStateChanged(m_channel);
+ } else
+ {
+ serviceEvent(eventTuneFailed);
+ return res;
}
if (m_pvr_channel)