summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-12-09 12:13:35 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-12-09 12:13:35 +0100
commitc9459a581236bb1a8329a2f8efadd43f47ee4cce (patch)
tree7e124f73d4f33571766c177f5e07ca59add2cc62
parent710aea16368b109fe275920345051b85ee7923f0 (diff)
downloadvdr-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.h2
-rw-r--r--dxr3device.c4
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);
}
}