summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2010-06-29 16:28:15 +0200
committerChristian Gmeiner <christian.gmeiner@gmail.com>2010-06-29 16:28:15 +0200
commit94200eb54ceaf5ddcae4bf18985e1de0e834bd7e (patch)
tree80bfadbc98fb82dd1862667169d2af4b9acdcb5f
parenta9b09976c0dc86d75f5b9814b870cf99f7c3f23a (diff)
downloadvdr-plugin-dxr3-94200eb54ceaf5ddcae4bf18985e1de0e834bd7e.tar.gz
vdr-plugin-dxr3-94200eb54ceaf5ddcae4bf18985e1de0e834bd7e.tar.bz2
improve cDxr3Device::StillPicture stub
-rw-r--r--dxr3device.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/dxr3device.c b/dxr3device.c
index 0f623bd..dc2d353 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -205,19 +205,23 @@ void cDxr3Device::Mute()
void cDxr3Device::StillPicture(const uchar *Data, int Length)
{
dsyslog("[dxr3-device] stillpciture");
-
- // clear used buffers of output threads
+ cDxr3PesFrame frame;
// we need to check if Data points to a pes
// frame or to non-pes data. This could be the
// case for the radio-Plugin, which points to an
// elementary stream.
- cDxr3PesFrame frame;
-
- if (frame.parse(Data, Length)) {
- // TODO
+ if (!Data)
+ return;
+
+ if (Data[0] == 0x47) {
+ // TS data
+ cDevice::StillPicture(Data, Length);
+ } else if (frame.parse(Data, Length)) {
+ // PES data
} else {
- // TODO
+ // unknown data
+ dsyslog("[dxr3-device] StillPicture: TODO %08x %08x %08x", Data[0], Data[1], Data[2]);
}
}