aboutsummaryrefslogtreecommitdiff
path: root/lib/service
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-11-18 17:04:20 +0100
committerghost <andreas.monzner@multimedia-labs.de>2009-11-18 17:04:59 +0100
commit7bed56e8f3e0b12cfabb2a4c21bac85b7cb251b9 (patch)
tree1232e2c0b6aa4fb811fddb7fbfdbe14bbd4ea9f5 /lib/service
parent68c9ea1ffaba4d6a45833744e0270db4c7eb0486 (diff)
downloadenigma2-7bed56e8f3e0b12cfabb2a4c21bac85b7cb251b9.tar.gz
enigma2-7bed56e8f3e0b12cfabb2a4c21bac85b7cb251b9.zip
servicedvb.cpp: apply global ac3(bitstream) delay and global pcm(decode) delay on setAC3Delay and setPCMDelay call.. not only on zap
Diffstat (limited to 'lib/service')
-rw-r--r--lib/service/servicedvb.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 1a28fbdd..6d9cad09 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -2398,17 +2398,8 @@ void eDVBServicePlay::updateDecoder()
}
}
- std::string config_delay;
- int config_delay_int = 0;
- if(ePythonConfigQuery::getConfigValue("config.av.generalAC3delay", config_delay) == 0)
- config_delay_int = atoi(config_delay.c_str());
- m_decoder->setAC3Delay(ac3_delay == -1 ? config_delay_int : ac3_delay + config_delay_int);
-
- if(ePythonConfigQuery::getConfigValue("config.av.generalPCMdelay", config_delay) == 0)
- config_delay_int = atoi(config_delay.c_str());
- else
- config_delay_int = 0;
- m_decoder->setPCMDelay(pcm_delay == -1 ? config_delay_int : pcm_delay + config_delay_int);
+ setAC3Delay(ac3_delay == -1 ? 0 : ac3_delay);
+ setPCMDelay(pcm_delay == -1 ? 0 : pcm_delay);
m_decoder->setVideoPID(vpid, vpidtype);
selectAudioStream();
@@ -2932,16 +2923,28 @@ void eDVBServicePlay::setAC3Delay(int delay)
{
if (m_dvb_service)
m_dvb_service->setCacheEntry(eDVBService::cAC3DELAY, delay ? delay : -1);
- if (m_decoder)
- m_decoder->setAC3Delay(delay);
+ if (m_decoder) {
+ std::string config_delay;
+ int config_delay_int = 0;
+ if(ePythonConfigQuery::getConfigValue("config.av.generalAC3delay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ m_decoder->setAC3Delay(delay + config_delay_int);
+ }
}
void eDVBServicePlay::setPCMDelay(int delay)
{
if (m_dvb_service)
m_dvb_service->setCacheEntry(eDVBService::cPCMDELAY, delay ? delay : -1);
- if (m_decoder)
- m_decoder->setPCMDelay(delay);
+ if (m_decoder) {
+ std::string config_delay;
+ int config_delay_int = 0;
+ if(ePythonConfigQuery::getConfigValue("config.av.generalPCMdelay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ else
+ config_delay_int = 0;
+ m_decoder->setPCMDelay(delay + config_delay_int);
+ }
}
void eDVBServicePlay::video_event(struct iTSMPEGDecoder::videoEvent event)