summaryrefslogtreecommitdiff
path: root/softhddev.c
diff options
context:
space:
mode:
Diffstat (limited to 'softhddev.c')
-rw-r--r--softhddev.c11
1 files changed, 11 insertions, 0 deletions
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
}
}