diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2009-01-06 14:41:11 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2009-01-06 14:41:11 +0100 |
commit | 7de7ede26fcabc232d5647b728080fe3c5d9fca2 (patch) | |
tree | 930f06d43802fefd93c83ac0e78e31aa25d7bf52 /dvbdevice.c | |
parent | 7470253c60f98e654e01de5bd7cc3da893524462 (diff) | |
download | vdr-7de7ede26fcabc232d5647b728080fe3c5d9fca2.tar.gz vdr-7de7ede26fcabc232d5647b728080fe3c5d9fca2.tar.bz2 |
The recording format is now Transport Stream
Diffstat (limited to 'dvbdevice.c')
-rw-r--r-- | dvbdevice.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/dvbdevice.c b/dvbdevice.c index 5be20db2..8c632c3d 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 2.8 2008/12/28 10:59:51 kls Exp $ + * $Id: dvbdevice.c 2.9 2009/01/05 16:08:18 kls Exp $ */ #include "dvbdevice.h" @@ -1213,7 +1213,11 @@ void cDvbDevice::Mute(void) void cDvbDevice::StillPicture(const uchar *Data, int Length) { - if (Data[0] == 0x00 && Data[1] == 0x00 && Data[2] == 0x01 && (Data[3] & 0xF0) == 0xE0) { + if (Data[0] == 0x47) { + // TS data + cDevice::StillPicture(Data, Length); + } + else if (Data[0] == 0x00 && Data[1] == 0x00 && Data[2] == 0x01 && (Data[3] & 0xF0) == 0xE0) { // PES data char *buf = MALLOC(char, Length); if (!buf) @@ -1331,8 +1335,8 @@ int cDvbDevice::PlayTsVideo(const uchar *Data, int Length) int cDvbDevice::PlayTsAudio(const uchar *Data, int Length) { - Length = TsGetPayload(&Data); - return PlayAudio(Data, Length, 0); + int w = PlayAudio(Data, TsGetPayload(&Data), 0); + return w >= 0 ? Length : w; } bool cDvbDevice::OpenDvr(void) |