X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2601ee77efe1f10be7cbeb8af94e2fb229cc1ec1..a2bd990c3e3fa4ccc311a52dfd3d2aadcf9883db:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 790bfca6..778892f6 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -669,7 +669,7 @@ RESULT eDVBServicePlay::setSlowMotion(int ratio) RESULT eDVBServicePlay::setFastForward(int ratio) { if (m_decoder) - m_decoder->setFastForward(ratio); + return m_decoder->setFastForward(ratio); else return -1; } @@ -721,7 +721,19 @@ RESULT eDVBServicePlay::unpause() RESULT eDVBServicePlay::seekTo(pts_t to) { - return -1; + eDebug("eDVBServicePlay::seekTo: jump %lld", to); + + ePtr pvr_channel; + + if (m_service_handler.getPVRChannel(pvr_channel)) + return -1; + + ePtr 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,6 +770,13 @@ RESULT eDVBServicePlay::getPlayPosition(pts_t &pos) return pvr_channel->getCurrentPosition(demux, pos); } +RESULT eDVBServicePlay::setTrickmode(int trick) +{ + if (m_decoder) + m_decoder->setTrickmode(trick); + return 0; +} + RESULT eDVBServicePlay::frontendStatusInfo(ePtr &ptr) { ptr = this;