add iCueSheet interface and null implementation
[enigma2.git] / lib / service / servicedvb.cpp
index 7beb6c2506ab137f63e850ca3a6456e35367cb78..76abbd3805120669c331898da1420e9ff533d08d 100644 (file)
@@ -712,7 +712,7 @@ RESULT eDVBServicePlay::setFastForward(int ratio)
     
 RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr)
 {
-       if (m_is_pvr || m_timeshift_active)
+       if (m_is_pvr || m_timeshift_enabled)
        {
                ptr = this;
                return 0;
@@ -722,15 +722,13 @@ RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr)
        return -1;
 }
 
+       /* TODO: when timeshift is enabled but not active, this doesn't work. */
 RESULT eDVBServicePlay::getLength(pts_t &len)
 {
        ePtr<iDVBPVRChannel> pvr_channel;
        
-       if (m_service_handler.getPVRChannel(pvr_channel))
-       {
-               eDebug("getPVRChannel failed!");
+       if ((m_timeshift_enabled ? m_service_handler_timeshift : m_service_handler).getPVRChannel(pvr_channel))
                return -1;
-       }
        
        return pvr_channel->getLength(len);
 }
@@ -815,6 +813,11 @@ RESULT eDVBServicePlay::setTrickmode(int trick)
        return 0;
 }
 
+RESULT eDVBServicePlay::isCurrentlySeekable()
+{
+       return m_is_pvr || m_timeshift_active;
+}
+
 RESULT eDVBServicePlay::frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr)
 {
        ptr = this;
@@ -866,6 +869,17 @@ RESULT eDVBServicePlay::timeshift(ePtr<iTimeshiftService> &ptr)
        return -1;
 }
 
+RESULT eDVBServicePlay::cueSheet(ePtr<iCueSheet> &ptr)
+{
+       if (m_is_pvr)
+       {
+               ptr = this;
+               return 0;
+       }
+       ptr = 0;
+       return -1;
+}
+
 RESULT eDVBServicePlay::getName(std::string &name)
 {
        if (m_is_pvr)
@@ -1140,6 +1154,7 @@ RESULT eDVBServicePlay::stopTimeshift()
        m_record = 0;
        
        close(m_timeshift_fd);
+       eDebug("remove timeshift file");
        remove(m_timeshift_file.c_str());
        
        return 0;
@@ -1164,6 +1179,23 @@ RESULT eDVBServicePlay::activateTimeshift()
        return -2;
 }
 
+PyObject *eDVBServicePlay::getCutList()
+{
+       PyObject *list = PyList_New(0);
+       
+       return list;
+}
+
+RESULT eDVBServicePlay::addCut(const pts_t &when, int what)
+{
+       return -1;
+}
+
+RESULT eDVBServicePlay::removeCut(const pts_t &when, int what)
+{
+       return -1;
+}
+
 void eDVBServicePlay::updateTimeshiftPids()
 {
        if (!m_record)