X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3353982034f151f4615cb1842873d99a7a6fa0ca..a1555389b4c9715fab8f65ae0179af113ee680dd:/lib/service/servicedvb.cpp?ds=sidebyside diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 39c4407d..f805ee70 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -652,8 +652,9 @@ RESULT eDVBServicePlay::seekRelative(int direction, pts_t to) if (m_service_handler.getPVRChannel(pvr_channel)) return -1; - /* this is of couse wrong: PTS values don't match with bytes. */ - return pvr_channel->seekToPosition(SEEK_CUR, direction * to); + to *= direction; + + return pvr_channel->seekTo(1, to); } RESULT eDVBServicePlay::getPlayPosition(pts_t &pos) @@ -718,6 +719,9 @@ RESULT eDVBServicePlay::selectTrack(unsigned int i) if (m_decoder->setAudioPID(program.audioStreams[i].pid, program.audioStreams[i].type)) return -4; + + if (m_decoder->start()) + return -5; return 0; }