Merge remote branch 'remotes/origin/acid-burn/bug_629_show_autofs_volumes_as_backuplo...
[enigma2.git] / lib / dvb / pmt.cpp
index 2ca226aec11ccd0cd5bf9235cd729afeb7c30482..46fa12edb6e8903ab40a633ee61b6f2e3a70dca8 100644 (file)
@@ -675,11 +675,11 @@ void eDVBServicePMTHandler::SDTScanEvent(int event)
 
 int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *cue, bool simulate, eDVBService *service)
 {
-       ePtr<iDataSource> s;
+       ePtr<iTsSource> s;
        return tuneExt(ref, use_decode_demux, s, NULL, cue, simulate, service);
 }
 
-int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iDataSource> &source, const char *streaminfo_file, eCueSheet *cue, bool simulate, eDVBService *service)
+int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &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
                        {