summaryrefslogtreecommitdiff
path: root/softhddev.c
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-01-15 14:31:54 +0100
committerJohns <johns98@gmx.net>2012-01-15 14:31:54 +0100
commit973fcfe4ddc57ba6bebc79c227930e661efe4b3e (patch)
tree0316dc11b0cef2cca1eb16801d36d51310645f9f /softhddev.c
parenteec30433b68ea0e9c66cb4a947faafd6a9681f55 (diff)
downloadvdr-plugin-softhddevice-973fcfe4ddc57ba6bebc79c227930e661efe4b3e.tar.gz
vdr-plugin-softhddevice-973fcfe4ddc57ba6bebc79c227930e661efe4b3e.tar.bz2
Support BBC-HD (no clean solution).
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
}
}