aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-25 17:55:59 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-25 17:55:59 +0000
commit83719a3213fabed7843cb03ee01533fc63432531 (patch)
tree557341bb775358cb7ad45f5b024bda189e6a404c
parent06b53d61c950469e7539449381f8344ece5154a1 (diff)
downloadenigma2-83719a3213fabed7843cb03ee01533fc63432531.tar.gz
enigma2-83719a3213fabed7843cb03ee01533fc63432531.zip
use correct eDVBServicePMTHandler to get program info
-rw-r--r--lib/service/servicedvb.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index c95923c9..725909a7 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -1157,7 +1157,9 @@ int eDVBServicePlay::getInfo(int w)
if (w == sCAIDs)
return resIsPyObject;
- if (m_service_handler.getProgramInfo(program))
+ eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
+
+ if (h.getProgramInfo(program))
return -1;
switch (w)
@@ -1246,7 +1248,8 @@ PyObject *eDVBServicePlay::getInfoObject(int w)
int eDVBServicePlay::getNumberOfTracks()
{
eDVBServicePMTHandler::program program;
- if (m_service_handler.getProgramInfo(program))
+ eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
+ if (h.getProgramInfo(program))
return 0;
return program.audioStreams.size();
}
@@ -1264,8 +1267,9 @@ RESULT eDVBServicePlay::selectTrack(unsigned int i)
RESULT eDVBServicePlay::getTrackInfo(struct iAudioTrackInfo &info, unsigned int i)
{
eDVBServicePMTHandler::program program;
+ eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
- if (m_service_handler.getProgramInfo(program))
+ if (h.getProgramInfo(program))
return -1;
if (i >= program.audioStreams.size())
@@ -1302,8 +1306,9 @@ RESULT eDVBServicePlay::getTrackInfo(struct iAudioTrackInfo &info, unsigned int
int eDVBServicePlay::selectAudioStream(int i)
{
eDVBServicePMTHandler::program program;
+ eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
- if (m_service_handler.getProgramInfo(program))
+ if (h.getProgramInfo(program))
return -1;
if ((unsigned int)i >= program.audioStreams.size())
@@ -1588,7 +1593,9 @@ void eDVBServicePlay::updateTimeshiftPids()
return;
eDVBServicePMTHandler::program program;
- if (m_service_handler.getProgramInfo(program))
+ eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
+
+ if (h.getProgramInfo(program))
return;
else
{