From fd85701a84c976318afbb69e13d96c1ec44112fc Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 22 Dec 2016 09:41:48 +0100 Subject: Fixed resuming replay at a given position, which was off by one frame --- CONTRIBUTORS | 1 + HISTORY | 2 ++ dvbplayer.c | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 38cf59ef..a695bc11 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3327,6 +3327,7 @@ Thomas Reufer differences between it and cFont::Height() for making the cPlayer member functions FramesPerSecond, GetIndex and GetReplayMode 'const' + for fixing resuming replay at a given position, which was off by one frame Eike Sauer for reporting a problem with channels that need more than 5 TS packets for detecting diff --git a/HISTORY b/HISTORY index 3b63099d..4edf138c 100644 --- a/HISTORY +++ b/HISTORY @@ -8855,3 +8855,5 @@ Video Disk Recorder Revision History between it and cFont::Height() (suggested to Thomas Reufer). - Made the cPlayer member functions FramesPerSecond, GetIndex and GetReplayMode 'const' (thanks to Thomas Reufer). +- Fixed resuming replay at a given position, which was off by one frame (thanks + to Thomas Reufer). diff --git a/dvbplayer.c b/dvbplayer.c index ca4007e3..e5c9270b 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbplayer.c 4.1 2015/08/06 13:09:19 kls Exp $ + * $Id: dvbplayer.c 4.2 2016/12/22 09:40:30 kls Exp $ */ #include "dvbplayer.h" @@ -433,6 +433,8 @@ void cDvbPlayer::Action(void) } StateKey.Remove(); } + if (readIndex > 0) // will first be incremented in the loop! + --readIndex; nonBlockingFileReader = new cNonBlockingFileReader; int Length = 0; -- cgit v1.2.3