diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 0c29e35b..ed5bf49b 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -925,6 +925,8 @@ Reinhard Nissl for extending some buffer sizes to allow handling HDTV streams for adding substream handling to cDolbyRepacker for modifying cDolbyRepacker to make sure PES packets don't exceed the requested length + for fixing a possible freeze in pause mode in case a device's PlayPesPacket() + function permanently returns 0 Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the @@ -1215,6 +1217,8 @@ Dino Ravnic Olaf Titz for fixing some typos in the Makefile's 'font' target + for reporting a problem and some advice in fixing a possible freeze in pause mode + in case a device's PlayPesPacket() function permanently returns 0 Darren Salt for pointing out that the '-' and 'ö' characters need to be escaped in the man diff --git a/HISTORY b/HISTORY index b5352c2e..7905b889 100644 --- a/HISTORY +++ b/HISTORY @@ -3378,3 +3378,5 @@ Video Disk Recorder Revision History - Fixed cDvbDevice::SetAudioTrackDevice() to avoid a blank screen after switching back to live mode if a recording is currently active on the primary device. +- Fixed a possible freeze in pause mode in case a device's PlayPesPacket() function + permanently returns 0 (thanks to Reinhard Nissl and Olaf Titz). diff --git a/device.c b/device.c index 46e23bc5..d67639fe 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.87 2005/02/06 14:10:37 kls Exp $ + * $Id: device.c 1.88 2005/02/08 11:37:09 kls Exp $ */ #include "device.h" @@ -984,7 +984,7 @@ int cDevice::PlayPes(const uchar *Data, int Length, bool VideoOnly) int w = PlayPesPacket(Data + i, l, VideoOnly); if (w > 0) i += l; - else if (w < 0) + else return i == 0 ? w : i; } else