summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-10-16 16:20:36 +0200
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-10-16 16:20:36 +0200
commitc06dcccd52a9f37f965d3672b7daa07a6cfded26 (patch)
tree955da0571feafbbc7c2859203a7b426bad470280
parent5ae90e8bc84404e62a2463b4c8f949cae467c1e5 (diff)
downloadvdr-plugin-dxr3-c06dcccd52a9f37f965d3672b7daa07a6cfded26.tar.gz
vdr-plugin-dxr3-c06dcccd52a9f37f965d3672b7daa07a6cfded26.tar.bz2
add a basic stuff for StillPicutre in cDxr3Device
-rw-r--r--dxr3device.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/dxr3device.c b/dxr3device.c
index 4cc89b2..309fb16 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -156,7 +156,21 @@ void cDxr3Device::Mute()
//! displays the given I-frame as a still picture.
void cDxr3Device::StillPicture(const uchar *Data, int Length)
{
+ // clear used buffers of output threads
m_DemuxDevice.StillPicture();
+
+ // 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.encode(Data, Length)) {
+ cDxr3Interface::instance()->PlayVideoFrame(&frame);
+
+ } else {
+ // TODO
+ }
}
// ==================================