summaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-12-22 15:08:24 (GMT)
committerghost <andreas.monzner@multimedia-labs.de>2009-12-22 15:08:24 (GMT)
commit864bab84ceacbaa2cf2814aa74f1379a0b9c8426 (patch)
tree74126a81ce57f9b3ccd6fccd5d2ac5362018a59f /lib/dvb/decoder.cpp
parent4e8904ef73e3ce5e275a1f5fbf369c4f9dab648e (diff)
parent9ec56f0aae40fe0c4afb071df436eacf79ac10af (diff)
Merge branch 'bug_271_ac3pcm_delay_servicemp3'
Diffstat (limited to 'lib/dvb/decoder.cpp')
-rw-r--r--lib/dvb/decoder.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp
index 710cc42..ef8dadc 100644
--- a/lib/dvb/decoder.cpp
+++ b/lib/dvb/decoder.cpp
@@ -1045,9 +1045,9 @@ int eTSMPEGDecoder::setState()
int eTSMPEGDecoder::m_pcm_delay=-1,
eTSMPEGDecoder::m_ac3_delay=-1;
-RESULT eTSMPEGDecoder::setPCMDelay(int delay)
+RESULT eTSMPEGDecoder::setHwPCMDelay(int delay)
{
- if (m_decoder == 0 && delay != m_pcm_delay )
+ if (delay != m_pcm_delay )
{
FILE *fp = fopen("/proc/stb/audio/audio_delay_pcm", "w");
if (fp)
@@ -1061,9 +1061,9 @@ RESULT eTSMPEGDecoder::setPCMDelay(int delay)
return -1;
}
-RESULT eTSMPEGDecoder::setAC3Delay(int delay)
+RESULT eTSMPEGDecoder::setHwAC3Delay(int delay)
{
- if ( m_decoder == 0 && delay != m_ac3_delay )
+ if ( delay != m_ac3_delay )
{
FILE *fp = fopen("/proc/stb/audio/audio_delay_bitstream", "w");
if (fp)
@@ -1077,6 +1077,17 @@ RESULT eTSMPEGDecoder::setAC3Delay(int delay)
return -1;
}
+
+RESULT eTSMPEGDecoder::setPCMDelay(int delay)
+{
+ return m_decoder == 0 ? setHwPCMDelay(delay) : -1;
+}
+
+RESULT eTSMPEGDecoder::setAC3Delay(int delay)
+{
+ return m_decoder == 0 ? setHwAC3Delay(delay) : -1;
+}
+
eTSMPEGDecoder::eTSMPEGDecoder(eDVBDemux *demux, int decoder)
: m_demux(demux),
m_vpid(-1), m_vtype(-1), m_apid(-1), m_atype(-1), m_pcrpid(-1), m_textpid(-1),