add return code
[enigma2.git] / lib / dvb / pmt.cpp
index 538264db698b1ba54998867044e98ff20e87132d..e743d2661509194175ca93fdf464ac3914928865 100644 (file)
@@ -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);
        }
 }
 
@@ -90,7 +95,6 @@ void eDVBServicePMTHandler::PATready(int)
 
 int eDVBServicePMTHandler::getProgramInfo(struct program &program)
 {
-       eDebug("got PMT");
        ePtr<eTable<ProgramMapSection> > ptr;
 
        program.videoStreams.clear();
@@ -206,6 +210,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 +235,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)
@@ -269,7 +278,7 @@ void eDVBCAService::buildCAPMT()
 
                while( i != ptr->getSections().end() )
                {
-                       eDebug("append");
+//                     eDebug("append");
                        capmt.append(*i++);
                }
 
@@ -352,11 +361,11 @@ void eDVBCAService::sendCAPMT()
                        case 0xFFFFFFFF:
                                ++m_sendstate;
                                m_retryTimer.start(0,true);
-                               eDebug("[eDVBCAHandler] send failed .. immediate retry");
+//                             eDebug("[eDVBCAHandler] send failed .. immediate retry");
                                break;
                        default:
                                m_retryTimer.start(5000,true);
-                               eDebug("[eDVBCAHandler] send failed .. retry in 5 sec");
+//                             eDebug("[eDVBCAHandler] send failed .. retry in 5 sec");
                                break;
                }
                ++m_sendstate;