summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
Diffstat (limited to 'device.c')
-rw-r--r--device.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/device.c b/device.c
index 834b6ea..5b9b514 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.23 2009/06/06 13:25:58 kls Exp $
+ * $Id: device.c 2.25 2009/08/16 10:54:36 kls Exp $
*/
#include "device.h"
@@ -1293,8 +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();
return w;
+ }
}
tsToPesVideo.Reset();
}
@@ -1308,8 +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();
return w;
+ }
tsToPesAudio.Reset();
}
tsToPesAudio.PutTs(Data, Length);