summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dxr3demuxdevice.c6
-rw-r--r--dxr3interface.h2
-rw-r--r--dxr3output-audio.c4
-rw-r--r--dxr3output.h1
4 files changed, 6 insertions, 7 deletions
diff --git a/dxr3demuxdevice.c b/dxr3demuxdevice.c
index 7197230..2e3a37d 100644
--- a/dxr3demuxdevice.c
+++ b/dxr3demuxdevice.c
@@ -334,7 +334,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
} else if (pesFrame->GetPesDataType() == cDxr3PesFrame::PES_AUDIO_DATA
&& m_demuxMode != DXR3_DEMUX_VIDEO_ONLY_MODE
- && !cDxr3Interface::instance()->IsAudioModeAC3()) {
+ && !m_pAudioThread->audio()->isAudioModeAC3()) {
if (m_synchState == DXR3_DEMUX_AUDIO_SYNCHED ||
m_synchState == DXR3_DEMUX_SYNCHED) {
if (pts && m_synchState != DXR3_DEMUX_SYNCHED) {
@@ -381,7 +381,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
}
} else if (pesFrame->GetPesDataType() == cDxr3PesFrame::PES_PRIVATE_DATA
&& m_demuxMode != DXR3_DEMUX_VIDEO_ONLY_MODE
- && !cDxr3Interface::instance()->IsAudioModeAC3()
+ && !m_pAudioThread->audio()->isAudioModeAC3()
&& !bAc3Dts) {
if (m_synchState == DXR3_DEMUX_AUDIO_SYNCHED ||
m_synchState == DXR3_DEMUX_SYNCHED) {
@@ -416,7 +416,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
}
} else if (pesFrame->GetPesDataType() == cDxr3PesFrame::PES_PRIVATE_DATA
&& m_demuxMode != DXR3_DEMUX_VIDEO_ONLY_MODE
- && cDxr3Interface::instance()->IsAudioModeAC3()
+ && m_pAudioThread->audio()->isAudioModeAC3()
&& bAc3Dts) {
if (m_synchState == DXR3_DEMUX_AUDIO_SYNCHED ||
m_synchState == DXR3_DEMUX_SYNCHED) {
diff --git a/dxr3interface.h b/dxr3interface.h
index 9595249..5650784 100644
--- a/dxr3interface.h
+++ b/dxr3interface.h
@@ -71,8 +71,6 @@ public:
bool IsOssAudio();
int OssSetPlayMode(uint32_t mode);
- int IsAudioModeAC3() { return 0; }
-
// clock
void SetSysClock(uint32_t scr);
uint32_t GetSysClock();
diff --git a/dxr3output-audio.c b/dxr3output-audio.c
index 86847e8..21fc11e 100644
--- a/dxr3output-audio.c
+++ b/dxr3output-audio.c
@@ -118,7 +118,7 @@ void cDxr3AudioOutThread::PlayFrame(cFixedLengthFrame *frame)
}
// volume changes
- if (!cDxr3Interface::instance()->IsAudioModeAC3()) {
+ if (!audio()->isAudioModeAC3()) {
audioOutput->changeVolume((short *)frame->GetData(), (size_t)frame->GetCount());
}
@@ -131,7 +131,7 @@ void cDxr3AudioOutThread::PlayFrame(cDxr3PesFrame *frame)
audioOutput->setup(frame->ctx);
// volume changes
- if (!cDxr3Interface::instance()->IsAudioModeAC3()) {
+ if (!audio()->isAudioModeAC3()) {
audioOutput->changeVolume((short *)frame->decoded, (size_t)frame->decodedSize);
}
diff --git a/dxr3output.h b/dxr3output.h
index 625a959..184cb9b 100644
--- a/dxr3output.h
+++ b/dxr3output.h
@@ -54,6 +54,7 @@ public:
cDxr3AudioOutThread(cDxr3SyncBuffer& buffer);
void setAudio(iAudio *a) { audioOutput = a; }
+ iAudio *audio() { return audioOutput; }
protected:
void Action();