use parent service reference for query EPG to build a .eit file when a parent is...
[enigma2.git] / lib / dvb / dvb.cpp
index ad5dfa641ea9d4fa35658e186be3842cd62bee34..b887dc0dbfb3a820a7f70c0b0ee31f9424fe8e46 100644 (file)
@@ -42,6 +42,16 @@ DEFINE_REF(eDVBResourceManager);
 
 eDVBResourceManager *eDVBResourceManager::instance;
 
+RESULT eDVBResourceManager::getInstance(ePtr<eDVBResourceManager> &ptr)
+{
+       if (instance)
+       {
+               ptr = instance;
+               return 0;
+       }
+       return -1;
+}
+
 eDVBResourceManager::eDVBResourceManager()
        :m_releaseCachedChannelTimer(eApp)
 {
@@ -788,7 +798,11 @@ void eDVBChannel::getNextSourceSpan(off_t current_offset, size_t bytes_read, off
                }
                
                if (relative == 1) /* pts relative */
+               {
                        pts += now;
+                       if (pts < 0)
+                               pts = 0;
+               }
 
                if (relative != 2)
                        if (pts < 0)
@@ -974,6 +988,9 @@ RESULT eDVBChannel::getDemux(ePtr<iDVBDemux> &demux, int cap)
 
 RESULT eDVBChannel::getFrontend(ePtr<iDVBFrontend> &frontend)
 {
+       frontend = 0;
+       if (!m_frontend)
+               return -ENODEV;
        frontend = &m_frontend->get();
        if (frontend)
                return 0;