diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-12-09 12:13:35 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-12-09 12:13:35 +0100 |
commit | c9459a581236bb1a8329a2f8efadd43f47ee4cce (patch) | |
tree | 7e124f73d4f33571766c177f5e07ca59add2cc62 | |
parent | 710aea16368b109fe275920345051b85ee7923f0 (diff) | |
download | vdr-plugin-dxr3-c9459a581236bb1a8329a2f8efadd43f47ee4cce.tar.gz vdr-plugin-dxr3-c9459a581236bb1a8329a2f8efadd43f47ee4cce.tar.bz2 |
DemuxPes has a third pararmeter - isAc3. make use of it
-rw-r--r-- | dxr3demuxdevice.h | 2 | ||||
-rw-r--r-- | 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); } } |