From ed9038b0f131b63d3db62c51e7e195ddc5c26122 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 10 Nov 2010 17:18:45 +0100 Subject: [PATCH 1/1] add new tuneExt function to eDVBServicePMTHandler to make the class more reusable --- lib/dvb/pmt.cpp | 11 ++++++++++- lib/dvb/pmt.h | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index ea4b96c..ba5a3ad 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 s; + return tuneExt(ref, use_decode_demux, s, cue, simulate, service); +} + +int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr &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()); } } diff --git a/lib/dvb/pmt.h b/lib/dvb/pmt.h index 483c06b..0ea36e4 100644 --- a/lib/dvb/pmt.h +++ b/lib/dvb/pmt.h @@ -206,6 +206,8 @@ public: void resetCachedProgram() { m_have_cached_program = false; } int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0); + int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr &, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0); + void free(); private: bool m_have_cached_program; -- 2.7.4