diff --git a/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.cpp b/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.cpp index 6e6fd10176f..ca73e2b094d 100644 --- a/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.cpp +++ b/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.cpp @@ -4,7 +4,6 @@ using namespace std; #include "dtvchannel.h" -#include "dvbchannel.h" #include "dtvsignalmonitor.h" #include "scanstreamdata.h" #include "mpegtables.h" @@ -372,12 +371,7 @@ void DTVSignalMonitor::HandlePMT(uint, const ProgramMapTable *pmt) { if (pmt->IsEncrypted(GetDTVChannel()->GetSIStandard()) && !ignore_encrypted) - { - DVBChannel *dvbchannel = GetDVBChannel(); - if (dvbchannel) - dvbchannel->SetPMT(pmt); AddFlags(kDTVSigMon_WaitForCrypt); - } AddFlags(kDTVSigMon_PMTMatch); } @@ -551,11 +545,6 @@ const ScanStreamData *DTVSignalMonitor::GetScanStreamData() const return dynamic_cast(stream_data); } -DVBChannel *DTVSignalMonitor::GetDVBChannel(void) -{ - return dynamic_cast(channel); -} - bool DTVSignalMonitor::IsAllGood(void) const { QMutexLocker locker(&statusLock); diff --git a/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.h b/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.h index 299e8036ae0..bc5cfd3a37c 100644 --- a/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.h +++ b/mythtv/libs/libmythtv/recorders/dtvsignalmonitor.h @@ -11,7 +11,6 @@ using namespace std; #include "streamlisteners.h" class DTVChannel; -class DVBChannel; class DTVSignalMonitor : public SignalMonitor, public MPEGStreamListener, @@ -104,7 +103,6 @@ class DTVSignalMonitor : public SignalMonitor, protected: DTVChannel *GetDTVChannel(void); - DVBChannel *GetDVBChannel(void); void UpdateMonitorValues(void); void UpdateListeningForEIT(void); diff --git a/mythtv/libs/libmythtv/recorders/dvbsignalmonitor.cpp b/mythtv/libs/libmythtv/recorders/dvbsignalmonitor.cpp index 44e51b51e72..1ccc03f3096 100644 --- a/mythtv/libs/libmythtv/recorders/dvbsignalmonitor.cpp +++ b/mythtv/libs/libmythtv/recorders/dvbsignalmonitor.cpp @@ -17,6 +17,7 @@ #include "cardutil.h" #include "dvbtypes.h" +#include "dvbchannel.h" #include "dvbrecorder.h" #include "dvbstreamhandler.h" @@ -171,6 +172,13 @@ QStringList DVBSignalMonitor::GetStatusList(void) const void DVBSignalMonitor::HandlePMT(uint program_num, const ProgramMapTable *pmt) { DTVSignalMonitor::HandlePMT(program_num, pmt); + + if (pmt->ProgramNumber() == (uint)programNumber) + { + DVBChannel *dvbchannel = GetDVBChannel(); + if (dvbchannel) + dvbchannel->SetPMT(pmt); + } } void DVBSignalMonitor::HandleSTT(const SystemTimeTable *stt)