From c9459a581236bb1a8329a2f8efadd43f47ee4cce Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 9 Dec 2009 12:13:35 +0100 Subject: DemuxPes has a third pararmeter - isAc3. make use of it --- dxr3demuxdevice.h | 2 +- dxr3device.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dxr3demuxdevice.h b/dxr3demuxdevice.h index 52986cf..aa81c3e 100644 --- a/dxr3demuxdevice.h +++ b/dxr3demuxdevice.h @@ -48,7 +48,7 @@ public: void SetReplayMode(); void SetTrickMode(eDxr3TrickState trickState, int Speed = 1); - int DemuxPes(const uint8_t* buf, int length, bool bAc3Dts = false); + int DemuxPes(const uint8_t* buf, int length, bool bAc3Dts); int DemuxAudioPes(const uint8_t* buf, int length); void StillPicture(); diff --git a/dxr3device.c b/dxr3device.c index 8c7f1df..41bf9cc 100644 --- a/dxr3device.c +++ b/dxr3device.c @@ -204,10 +204,12 @@ int cDxr3Device::PlayAudio(const uchar *Data, int Length, uchar Id) return Length; } + bool isAc3 = ((Id & 0xF0) == 0x80) || Id == 0xbd; + if (m_PlayMode == pmAudioOnly) { return m_DemuxDevice.DemuxAudioPes(Data, Length); } else { - return m_DemuxDevice.DemuxPes(Data, Length); + return m_DemuxDevice.DemuxPes(Data, Length, isAc3); } } -- cgit v1.2.3