aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pmt.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-11-10 17:18:45 +0100
committerghost <andreas.monzner@multimedia-labs.de>2010-11-10 17:18:45 +0100
commited9038b0f131b63d3db62c51e7e195ddc5c26122 (patch)
tree3ee46b9846e98f081081a37e3d77c3c2793fbfe2 /lib/dvb/pmt.cpp
parentf1905e060a3a947ac2d3825e43b3052b361c71e6 (diff)
downloadenigma2-ed9038b0f131b63d3db62c51e7e195ddc5c26122.tar.gz
enigma2-ed9038b0f131b63d3db62c51e7e195ddc5c26122.zip
add new tuneExt function to eDVBServicePMTHandler to make the class more reusable
Diffstat (limited to 'lib/dvb/pmt.cpp')
-rw-r--r--lib/dvb/pmt.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index ea4b96c5..ba5a3ade 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -675,6 +675,12 @@ void eDVBServicePMTHandler::SDTScanEvent(int event)
int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *cue, bool simulate, eDVBService *service)
{
+ ePtr<iDataSource> s;
+ return tuneExt(ref, use_decode_demux, s, cue, simulate, service);
+}
+
+int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iDataSource> &source, eCueSheet *cue, bool simulate, eDVBService *service)
+{
RESULT res=0;
m_reference = ref;
@@ -757,7 +763,10 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux,
if (m_pvr_channel)
{
m_pvr_channel->setCueSheet(cue);
- m_pvr_channel->playFile(ref.path.c_str());
+ if (source)
+ m_pvr_channel->playSource(source);
+ else
+ m_pvr_channel->playFile(ref.path.c_str());
}
}