add seekChapter method to iSeekableService interface
[enigma2.git] / lib / service / servicedvb.cpp
index 2d770fb05eb2486bcce401a284a106af238859b2..fb67787a42360318c8315b992b8865dc90238913 100644 (file)
@@ -668,7 +668,11 @@ eServiceFactoryDVB::eServiceFactoryDVB()
        
        eServiceCenter::getPrivInstance(sc);
        if (sc)
-               sc->addServiceFactory(eServiceFactoryDVB::id, this);
+       {
+               std::list<std::string> extensions;
+               extensions.push_back("ts");
+               sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions);
+       }
 
        m_StaticServiceDVBInfo = new eStaticServiceDVBInformation;
        m_StaticServiceDVBBouquetInfo = new eStaticServiceDVBBouquetInformation;
@@ -809,7 +813,7 @@ PyObject *eDVBServiceList::getContent(const char* format, bool sorted)
                                                        sptr->getName(ref, name);
 
                                                        // filter short name brakets
-                                                       unsigned int pos;
+                                                       size_t pos;
                                                        while((pos = name.find("\xc2\x86")) != std::string::npos)
                                                                name.erase(pos,2);
                                                        while((pos = name.find("\xc2\x87")) != std::string::npos)
@@ -1442,6 +1446,12 @@ RESULT eDVBServicePlay::isCurrentlySeekable()
        return m_is_pvr || m_timeshift_active;
 }
 
+RESULT eDVBServicePlay::seekChapter(int chapter)
+{
+               /* seekChapter N/I. */
+       return -1;
+}
+
 RESULT eDVBServicePlay::frontendInfo(ePtr<iFrontendInformation> &ptr)
 {
        ptr = this;
@@ -2563,7 +2573,16 @@ void eDVBServicePlay::cutlistToCuesheet()
                        }
                }
                
-               if (in != out)
+               if (in < 0)
+                       in = 0;
+               if (out < 0)
+                       out = 0;
+               if (in > length)
+                       in = length;
+               if (out > length)
+                       out = length;
+               
+               if (in < out)
                        m_cue->addSourceSpan(in, out);
                
                in = length;