diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-29 09:52:58 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-29 09:52:58 +0100 |
| commit | 356d37043cbe1265a83c985e2cef7185daf74cb9 (patch) | |
| tree | 82dee4351749665f41a78b4880f9abafc6c73ffa /lib/dvb/pmt.cpp | |
| parent | 070b9256befecb72bbdc7052aef61e5f2f0b9515 (diff) | |
| download | enigma2-356d37043cbe1265a83c985e2cef7185daf74cb9.tar.gz enigma2-356d37043cbe1265a83c985e2cef7185daf74cb9.zip | |
fixes PMT pid searching for TS files without meta file and sid in servicref (this fixes SID not found in PAT messages)
refs #124
Diffstat (limited to 'lib/dvb/pmt.cpp')
| -rw-r--r-- | lib/dvb/pmt.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index d44766f1..cb80b00f 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -742,13 +742,12 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem { if (!ref.getServiceID().get() /* incorrect sid in meta file or recordings.epl*/ ) { - eWarning("no .meta file found, trying to find PMT pid"); eDVBTSTools tstools; + bool b = source || !tstools.openFile(ref.path.c_str(), 1); + eWarning("no .meta file found, trying to find PMT pid"); 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 + tstools.setSource(source, NULL); + if (b) { int service_id, pmt_pid; if (!tstools.findPMT(pmt_pid, service_id)) @@ -758,6 +757,8 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem m_pmt_pid = pmt_pid; } } + else + eWarning("no valid source to find PMT pid!"); } eDebug("alloc PVR"); /* allocate PVR */ |
