From 973fcfe4ddc57ba6bebc79c227930e661efe4b3e Mon Sep 17 00:00:00 2001 From: Johns Date: Sun, 15 Jan 2012 14:31:54 +0100 Subject: [PATCH] Support BBC-HD (no clean solution). --- softhddev.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/softhddev.c b/softhddev.c index e8ad079..6f65ab3 100644 --- a/softhddev.c +++ b/softhddev.c @@ -759,6 +759,16 @@ int PlayVideo(const uint8_t * data, int size) Debug(3, "video: h264 detected\n"); VideoCodecID = CODEC_ID_H264; } + // Access Unit Delimiter (BBC-HD) + // FIXME: the 4 offset are try & error selected + } else if ((data[6] & 0xC0) == 0x80 && !check[4 + 0] && !check[4 + 1] + && !check[4 + 2] && check[4 + 3] == 0x1 && check[4 + 4] == 0x09) { + if (VideoCodecID == CODEC_ID_H264) { + VideoNextPacket(CODEC_ID_H264); + } else { + Debug(3, "video: h264 detected\n"); + VideoCodecID = CODEC_ID_H264; + } } else { // this happens when vdr sends incomplete packets if (VideoCodecID == CODEC_ID_NONE) { @@ -1131,6 +1141,7 @@ void SoftHdDeviceExit(void) if (X11ServerPid) { kill(X11ServerPid, SIGTERM); + // FIXME: wait for x11 finishing } }