diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-10-25 17:55:59 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-10-25 17:55:59 +0000 |
| commit | 83719a3213fabed7843cb03ee01533fc63432531 (patch) | |
| tree | 557341bb775358cb7ad45f5b024bda189e6a404c /lib | |
| parent | 06b53d61c950469e7539449381f8344ece5154a1 (diff) | |
| download | enigma2-83719a3213fabed7843cb03ee01533fc63432531.tar.gz enigma2-83719a3213fabed7843cb03ee01533fc63432531.zip | |
use correct eDVBServicePMTHandler to get program info
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/service/servicedvb.cpp | 17 |
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 { |
