summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2009-08-16 10:54:36 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2009-08-16 10:54:36 +0200
commit99468a776ddd1870ac9aa0e306256c0b3080ff0f (patch)
treefd1733761f140aec612a60c89af23a53a374bd36 /device.c
parentfbc3a77d60a61d9c3533cd001b874c635e2a154c (diff)
downloadvdr-99468a776ddd1870ac9aa0e306256c0b3080ff0f.tar.gz
vdr-99468a776ddd1870ac9aa0e306256c0b3080ff0f.tar.bz2
Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the buffer has been accepted by the device (cont'd)
Diffstat (limited to 'device.c')
-rw-r--r--device.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/device.c b/device.c
index 00f6aa74..5b9b5141 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 2.24 2009/06/21 13:26:06 kls Exp $
+ * $Id: device.c 2.25 2009/08/16 10:54:36 kls Exp $
*/
#include "device.h"
@@ -1293,10 +1293,10 @@ int cDevice::PlayTsVideo(const uchar *Data, int Length)
int l;
while (const uchar *p = tsToPesVideo.GetPes(l)) {
int w = PlayVideo(p, l);
- if (w == 0)
+ if (w <= 0) {
tsToPesVideo.SetRepeatLast();
- if (w <= 0)
return w;
+ }
}
tsToPesVideo.Reset();
}
@@ -1310,10 +1310,10 @@ int cDevice::PlayTsAudio(const uchar *Data, int Length)
int l;
if (const uchar *p = tsToPesAudio.GetPes(l)) {
int w = PlayAudio(p, l, 0);
- if (w == 0)
+ if (w <= 0) {
tsToPesAudio.SetRepeatLast();
- if (w <= 0)
return w;
+ }
tsToPesAudio.Reset();
}
tsToPesAudio.PutTs(Data, Length);