From 27c7603276b08c2c9340bb4aabd9a24cde0184a5 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 28 Apr 2007 15:18:02 +0200 Subject: [PATCH] Fixed a busy loop in fast forward if the next video data file is missing --- CONTRIBUTORS | 1 + HISTORY | 7 +++++++ dvbplayer.c | 6 ++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7fadb7b4..bbdc5706 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1120,6 +1120,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 f6aece02..7ea86abc 100644 --- a/HISTORY +++ b/HISTORY @@ -5166,6 +5166,13 @@ Video Disk Recorder Revision History wrongly encoded, but apparently on the new transponder they started broadcasting on this month, they got it right. +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). + 2007-04-28: Version 1.5.3 - Fixed some spelling errors in 'newplugin' (thanks to Ville Skyttä). +- 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..99b3f5ce 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.46 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) {