summaryrefslogtreecommitdiff
path: root/dxr3demuxdevice.c
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-11-18 15:48:15 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-11-18 15:48:15 +0100
commit4be27b8b4eabd871c7d64f356e710e3cdd7c0330 (patch)
tree076643a9d58a48a0abb6875c88b8071384b37877 /dxr3demuxdevice.c
parent50d28efba8b6bce3bcf1a48e87b980b03d78fa5a (diff)
downloadvdr-plugin-dxr3-4be27b8b4eabd871c7d64f356e710e3cdd7c0330.tar.gz
vdr-plugin-dxr3-4be27b8b4eabd871c7d64f356e710e3cdd7c0330.tar.bz2
Revert "make it simpler"
This fixes hopefully some problems with playback. This reverts commit 34176db79c1d6bca5d4f76fc34f80e00565091e4.
Diffstat (limited to 'dxr3demuxdevice.c')
-rw-r--r--dxr3demuxdevice.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dxr3demuxdevice.c b/dxr3demuxdevice.c
index 8536e8d..f30af8d 100644
--- a/dxr3demuxdevice.c
+++ b/dxr3demuxdevice.c
@@ -120,6 +120,7 @@ void cDxr3DemuxDevice::SetReplayMode()
if (m_demuxMode == DXR3_DEMUX_TRICK_MODE &&
m_trickState == DXR3_FREEZE)
{
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->SetSysClock(m_stopScr);
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
@@ -290,6 +291,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
m_synchState = DXR3_DEMUX_SYNCHED;
pcr = vPts - PRE_BUFFER_LENGTH;
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -322,6 +324,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
pcr = vPts - PRE_BUFFER_LENGTH;
}
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -339,6 +342,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
m_synchState = DXR3_DEMUX_SYNCHED;
pcr = aPts - PRE_BUFFER_LENGTH;
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -368,6 +372,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
pcr = vPts - PRE_BUFFER_LENGTH;
}
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -402,6 +407,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
pcr = vPts - PRE_BUFFER_LENGTH;
}
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -442,6 +448,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
pcr = vPts - PRE_BUFFER_LENGTH;
}
m_dxr3Device->SetSysClock(pcr);
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();
@@ -476,6 +483,7 @@ int cDxr3DemuxDevice::DemuxAudioPes(const uint8_t* buf, int length)
if (m_synchState != DXR3_DEMUX_AUDIO_SYNCHED &&
syncCounter > 2) {
m_synchState = DXR3_DEMUX_AUDIO_SYNCHED;
+ m_dxr3Device->SetPlayMode();
m_dxr3Device->EnableVideo();
m_dxr3Device->EnableAudio();
m_vBuf.Start();