summaryrefslogtreecommitdiff
path: root/dxr3device.c
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2010-02-02 15:39:51 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2010-02-02 15:39:51 +0100
commit5c65728d0f8e094403e4cb009445e0bfaf64c971 (patch)
treeb48512b9f73c2ab4be37bc2eaddad34ac445ea34 /dxr3device.c
parent64a85f960aaadb129923e8af6a4f08bc59634a25 (diff)
downloadvdr-plugin-dxr3-5c65728d0f8e094403e4cb009445e0bfaf64c971.tar.gz
vdr-plugin-dxr3-5c65728d0f8e094403e4cb009445e0bfaf64c971.tar.bz2
add final code to PlayVideo... a/v sync should work now..
...but sources needs some cleanups and missing methods needs to worked out.
Diffstat (limited to 'dxr3device.c')
-rw-r--r--dxr3device.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/dxr3device.c b/dxr3device.c
index ec1d261..a1e3da3 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -181,6 +181,8 @@ bool cDxr3Device::Poll(cPoller &Poller, int TimeoutMs)
//! actually plays the given data block as video
int cDxr3Device::PlayVideo(const uchar *Data, int Length)
{
+ static int i = 0;
+
cDxr3PesFrame frame;
frame.parse(Data, Length);
uint32_t pts = frame.GetPts();
@@ -195,6 +197,15 @@ int cDxr3Device::PlayVideo(const uchar *Data, int Length)
cDxr3Interface::instance()->SetSysClock(vPts);
scrSet = true;
}
+ cDxr3Interface::instance()->PlayVideoFrame(&frame, vPts);
+
+ if (i < 7) {
+ i++;
+ }
+ if (i == 7) {
+ cDxr3Interface::instance()->SetPlayMode();
+ i = 8;
+ }
return Length;
}