servicedvb: implement seekTo
[enigma2.git] / lib / service / servicedvb.cpp
index fc35b5217e0952ca7707ae513fdbbc8c39e35a46..778892f6c6917492f85119f37c89680aaed199e5 100644 (file)
@@ -721,7 +721,19 @@ RESULT eDVBServicePlay::unpause()
 
 RESULT eDVBServicePlay::seekTo(pts_t to)
 {
-       return -1;
+       eDebug("eDVBServicePlay::seekTo: jump %lld", to);
+
+       ePtr<iDVBPVRChannel> pvr_channel;
+       
+       if (m_service_handler.getPVRChannel(pvr_channel))
+               return -1;
+       
+       ePtr<iDVBDemux> demux;
+       m_service_handler.getDemux(demux);
+       if (!demux)
+               return -1;
+       
+       return pvr_channel->seekTo(demux, 0, to);
 }
 
 RESULT eDVBServicePlay::seekRelative(int direction, pts_t to)
@@ -758,7 +770,7 @@ RESULT eDVBServicePlay::getPlayPosition(pts_t &pos)
        return pvr_channel->getCurrentPosition(demux, pos);
 }
 
-RESULT eDVBServicePlay::setTrickmode(int trick=0)
+RESULT eDVBServicePlay::setTrickmode(int trick)
 {
        if (m_decoder)
                m_decoder->setTrickmode(trick);