summaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-11-04 12:09:50 (GMT)
committerghost <andreas.monzner@multimedia-labs.de>2009-11-04 12:09:50 (GMT)
commit68c9ea1ffaba4d6a45833744e0270db4c7eb0486 (patch)
tree849d934dbb66190bc35a4ce208eec8d9bf8869f6 /lib/dvb/decoder.cpp
parentf3a30a79a5dda5f33a9241de575bbf9fa66b4170 (diff)
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
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 90bf19e..0935069 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),