From c2f1a638b1eb861d1a8e97530adfcefd65ff6ac0 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 9 Nov 2005 17:31:11 +0000 Subject: differentiate between failures while and after tuning --- lib/dvb/pmt.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/dvb/pmt.cpp') 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) -- cgit v1.2.3