diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-02 15:39:51 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-02 15:39:51 +0100 |
commit | 5c65728d0f8e094403e4cb009445e0bfaf64c971 (patch) | |
tree | b48512b9f73c2ab4be37bc2eaddad34ac445ea34 /dxr3device.c | |
parent | 64a85f960aaadb129923e8af6a4f08bc59634a25 (diff) | |
download | vdr-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.c | 11 |
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; } |