From 842efc15c53957f534d31c5527b1c65dc486c496 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 28 Apr 2007 15:16:15 +0200 Subject: Fixed a busy loop in fast forward if the next video data file is missing --- CONTRIBUTORS | 1 + HISTORY | 5 +++++ dvbplayer.c | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index fd0ad595..9bb2a9ad 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1118,6 +1118,7 @@ Reinhard Nissl for making cCommand::Execute() use cPipe instead of popen() to avoid problems with open file handles when starting background commands for fixing handling error status in cDvbTuner::GetFrontendStatus() + for fixing a busy loop in fast forward if the next video data file is missing Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 038ee27d..2345dfed 100644 --- a/HISTORY +++ b/HISTORY @@ -5047,3 +5047,8 @@ Video Disk Recorder Revision History 2007-03-03: Version 1.4.6 - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). + +2007-04-28: Version 1.4.6-1 + +- Fixed a busy loop in fast forward if the next video data file is missing + (thanks to Reinhard Nissl). diff --git a/dvbplayer.c b/dvbplayer.c index 2ba98b83..ff514277 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 1.45 2006/04/17 11:00:00 kls Exp $ + * $Id: dvbplayer.c 1.45.1.1 2007/04/28 14:55:22 kls Exp $ */ #include "dvbplayer.h" @@ -402,8 +402,10 @@ void cDvbPlayer::Action(void) bool TimeShiftMode = index->IsStillRecording(); int Index = index->GetNextIFrame(readIndex, playDir == pdForward, &FileNumber, &FileOffset, &Length, TimeShiftMode); if (Index >= 0) { - if (!NextFile(FileNumber, FileOffset)) + if (!NextFile(FileNumber, FileOffset)) { + readIndex = Index; continue; + } } else { if (!TimeShiftMode && playDir == pdForward) { -- cgit v1.2.3