summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-02-08 11:47:15 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2005-02-08 11:47:15 +0100
commit8cdd705fb40e0017865cf102877871b21ec0f97d (patch)
tree90bb34543a98342fa2268c0eac22292c39341d52
parent34d51f5f8375ff711cdf07c5ddef39b10ec6ab88 (diff)
downloadvdr-8cdd705fb40e0017865cf102877871b21ec0f97d.tar.gz
vdr-8cdd705fb40e0017865cf102877871b21ec0f97d.tar.bz2
Fixed a possible freeze in pause mode in case a device's PlayPesPacket() function permanently returns 0
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY2
-rw-r--r--device.c4
3 files changed, 8 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 0c29e35b..ed5bf49b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -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
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