diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-12-09 17:28:24 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-12-09 17:28:24 +0100 |
commit | f58ade275c649976f1f1c54157b75befbbe4950c (patch) | |
tree | bc2aa18b3e10c2dd5170d0e4b04e4c8bc34fb09b | |
parent | 7b533c03eba85af0f8e5295a8c4f038902e9e56b (diff) | |
download | vdr-plugin-dxr3-f58ade275c649976f1f1c54157b75befbbe4950c.tar.gz vdr-plugin-dxr3-f58ade275c649976f1f1c54157b75befbbe4950c.tar.bz2 |
make call to cDxr3AudioDecoder::DecodeAc3Dts simpler
-rw-r--r-- | dxr3audiodecoder.c | 12 | ||||
-rw-r--r-- | dxr3audiodecoder.h | 3 | ||||
-rw-r--r-- | dxr3demuxdevice.c | 10 |
3 files changed, 8 insertions, 17 deletions
diff --git a/dxr3audiodecoder.c b/dxr3audiodecoder.c index 99b68d2..95cd23f 100644 --- a/dxr3audiodecoder.c +++ b/dxr3audiodecoder.c @@ -201,15 +201,13 @@ void cDxr3AudioDecoder::DecodeLpcm(cDxr3PesFrame *frame, uint32_t pts, cDxr3Sync // ================================== //! decode ac3 -void cDxr3AudioDecoder::DecodeAc3Dts(const uint8_t* pPes, const uint8_t* buf, - int length, uint32_t pts, - cDxr3SyncBuffer &aBuf) +void cDxr3AudioDecoder::DecodeAc3Dts(cDxr3PesFrame *frame, uint32_t pts, cDxr3SyncBuffer &aBuf) { - int headerLength = (int) (buf - pPes); + uint8_t *buf = (uint8_t *)frame->GetPayload(); + int length = frame->GetPayloadLength(); - uint8_t* pBuf = (uint8_t*) pPes; - ac3dtsDecoder.Check(pBuf + headerLength, length, pBuf); - ac3dtsDecoder.Encapsulate(pBuf + headerLength, length); + ac3dtsDecoder.Check(buf, length, (uint8_t *)frame->GetPesStart()); + ac3dtsDecoder.Encapsulate(buf, length); cFrame* pFrame = 0; while ((pFrame = rbuf.Get())) { diff --git a/dxr3audiodecoder.h b/dxr3audiodecoder.h index 825ae99..0283e4b 100644 --- a/dxr3audiodecoder.h +++ b/dxr3audiodecoder.h @@ -45,8 +45,7 @@ public: void Decode(cDxr3PesFrame *frame, uint32_t pts, cDxr3SyncBuffer &aBuf); void DecodeLpcm(cDxr3PesFrame *frame, uint32_t pts, cDxr3SyncBuffer &aBuf); - void DecodeAc3Dts(const uint8_t* pPes, const uint8_t* buf, int length, - uint32_t pts, cDxr3SyncBuffer &aBuf); + void DecodeAc3Dts(cDxr3PesFrame *frame, uint32_t pts, cDxr3SyncBuffer &aBuf); void Reset() { diff --git a/dxr3demuxdevice.c b/dxr3demuxdevice.c index f8f60b7..b9e7215 100644 --- a/dxr3demuxdevice.c +++ b/dxr3demuxdevice.c @@ -417,17 +417,11 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts) && bAc3Dts) { if (m_synchState == DXR3_DEMUX_AUDIO_SYNCHED || m_synchState == DXR3_DEMUX_SYNCHED) { - m_aDecoder.DecodeAc3Dts(pesFrame->GetPesStart(), - pesFrame->GetPayload(), - pesFrame->GetPayloadLength(), - pts, m_aBuf); + m_aDecoder.DecodeAc3Dts(pesFrame, pts, m_aBuf); } else { if (pts) { aPts = pts; - m_aDecoder.DecodeAc3Dts(pesFrame->GetPesStart(), - pesFrame->GetPayload(), - pesFrame->GetPayloadLength(), - pts, m_aBuf); + m_aDecoder.DecodeAc3Dts(pesFrame, pts, m_aBuf); if (m_synchState == DXR3_DEMUX_VIDEO_SYNCHED) { m_synchState = DXR3_DEMUX_SYNCHED; |