X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ed9038b0f131b63d3db62c51e7e195ddc5c26122..7199d3c37e7e7065bd6943702b5864fa5186b9a8:/lib/dvb/pmt.cpp diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index ba5a3ade..7b799662 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -676,10 +676,10 @@ 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); + return tuneExt(ref, use_decode_demux, s, NULL, cue, simulate, service); } -int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr &source, eCueSheet *cue, bool simulate, eDVBService *service) +int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr &source, const char *streaminfo_file, eCueSheet *cue, bool simulate, eDVBService *service) { RESULT res=0; m_reference = ref; @@ -710,7 +710,9 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem { eWarning("no .meta file found, trying to find PMT pid"); eDVBTSTools tstools; - if (tstools.openFile(ref.path.c_str())) + if (source) + tstools.setSource(source, streaminfo_file ? streaminfo_file : ref.path.c_str()); + else if (tstools.openFile(ref.path.c_str())) eWarning("failed to open file"); else { @@ -764,7 +766,7 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem { m_pvr_channel->setCueSheet(cue); if (source) - m_pvr_channel->playSource(source); + m_pvr_channel->playSource(source, streaminfo_file); else m_pvr_channel->playFile(ref.path.c_str()); }