aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-04-19 23:33:44 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-04-19 23:33:44 +0200
commite8f443313e47e0653d61d23c90352572194e5608 (patch)
tree7188d3ea5a8c91066fe1dfd5f7241eeb3e3c5226 /lib/service/servicedvb.cpp
parent2d7f4e102ee3231bdb600b0ac7e2d8f898034b78 (diff)
parent0d076f400e8740e55289427c0f19c8055c74bbc5 (diff)
downloadenigma2-e8f443313e47e0653d61d23c90352572194e5608.tar.gz
enigma2-e8f443313e47e0653d61d23c90352572194e5608.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 44a22ea9..0e6229c5 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -1184,7 +1184,7 @@ RESULT eDVBServicePlay::setFastForward_internal(int ratio)
return -1;
if (ffratio == 0)
- return 0; /* return m_decoder->play(); is done in caller*/
+ ; /* return m_decoder->play(); is done in caller*/
else if (ffratio != 1)
return m_decoder->setFastForward(ffratio);
else
@@ -1602,7 +1602,7 @@ RESULT eDVBServicePlay::selectTrack(unsigned int i)
{
int ret = selectAudioStream(i);
- if (m_decoder->play())
+ if (m_decoder->set())
return -5;
return ret;
@@ -1684,8 +1684,6 @@ int eDVBServicePlay::selectAudioStream(int i)
eDebug("set audio pid failed");
return -4;
}
-
- m_decoder->set();
/* if we are not in PVR mode, timeshift is not active and we are not in pip mode, check if we need to enable the rds reader */
if (!(m_is_pvr || m_timeshift_active || !m_is_primary))
@@ -1718,11 +1716,16 @@ int eDVBServicePlay::selectAudioStream(int i)
m_dvb_service->setCacheEntry(eDVBService::cAPID, apid);
m_dvb_service->setCacheEntry(eDVBService::cAC3PID, -1);
}
- else
+ else if (apidtype == eDVBAudio::aAC3)
{
m_dvb_service->setCacheEntry(eDVBService::cAPID, -1);
m_dvb_service->setCacheEntry(eDVBService::cAC3PID, apid);
}
+ else
+ {
+ m_dvb_service->setCacheEntry(eDVBService::cAPID, -1);
+ m_dvb_service->setCacheEntry(eDVBService::cAC3PID, -1);
+ }
}
h.resetCachedProgram();