From 68c9ea1ffaba4d6a45833744e0270db4c7eb0486 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 4 Nov 2009 13:09:50 +0100 Subject: implement iAudioDelay interface also for servicemp3.cpp (media files) no possibility to store this delays persistent.. they are valid until the next reboot or delay change --- lib/dvb/decoder.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'lib/dvb/decoder.cpp') diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index 90bf19e1..09350698 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -1048,9 +1048,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) @@ -1064,9 +1064,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) @@ -1080,6 +1080,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), -- cgit v1.2.3