Fixed a possible freeze in pause mode in case a device's PlayPesPacket() function permanently returns 0

This commit is contained in:
Klaus Schmidinger 2005-02-08 11:47:15 +01:00
parent 34d51f5f83
commit 8cdd705fb4
3 changed files with 8 additions and 2 deletions

View File

@ -925,6 +925,8 @@ Reinhard Nissl <rnissl@gmx.de>
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 <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@ -1215,6 +1217,8 @@ Dino Ravnic <dino.ravnic@fer.hr>
Olaf Titz <olaf@bigred.inka.de>
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 <linux@youmustbejoking.demon.co.uk>
for pointing out that the '-' and 'ö' characters need to be escaped in the man

View File

@ -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).

View File

@ -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