From 85645317ae2e924ecc8faa6ff9a7935a7ebff15e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 19 Apr 2009 15:17:17 +0200 Subject: [PATCH] cDvbPlayer::Empty() subtracts 1 from readIndex, because Action() will first increment it --- HISTORY | 2 ++ dvbplayer.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index 5b7ee097..fe3df375 100644 --- a/HISTORY +++ b/HISTORY @@ -6054,3 +6054,5 @@ Video Disk Recorder Revision History so that a decoder will ignore them together with any PES data collected for that PID so far (thanks to Oliver Endriss for reporting chirping sound disturbences at editing points in TS recordings). +- cDvbPlayer::Empty() subtracts 1 from readIndex, because Action() will first + increment it. diff --git a/dvbplayer.c b/dvbplayer.c index 35b98a71..b99ede51 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 2.13 2009/04/18 14:18:22 kls Exp $ + * $Id: dvbplayer.c 2.14 2009/04/19 15:17:17 kls Exp $ */ #include "dvbplayer.h" @@ -318,7 +318,7 @@ void cDvbPlayer::Empty(void) if (nonBlockingFileReader) nonBlockingFileReader->Clear(); if (!firstPacket) // don't set the readIndex twice if Empty() is called more than once - readIndex = ptsIndex.FindIndex(DeviceGetSTC()); + readIndex = ptsIndex.FindIndex(DeviceGetSTC()) - 1; // Action() will first increment it! delete readFrame; // might not have been stored in the buffer in Action() readFrame = NULL; playFrame = NULL;