MythTV  master
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ChannelScanSM Class Reference

Scanning class for cards that support a SignalMonitor class. More...

#include <channelscan_sm.h>

Inheritance diagram for ChannelScanSM:
Inheritance graph
[legend]
Collaboration diagram for ChannelScanSM:
Collaboration graph
[legend]

Public Types

typedef QMap< uint, ChannelInsertInfochan_info_map_t
 

Public Member Functions

 ChannelScanSM (ScanMonitor *_scan_monitor, const QString &_cardtype, ChannelBase *_channel, int _sourceID, uint signal_timeout, uint channel_timeout, const QString &_inputname, bool test_decryption)
 
 ~ChannelScanSM ()
 
void StartScanner (void)
 Starts the ChannelScanSM event loop. More...
 
void StopScanner (void)
 Stops the ChannelScanSM event loop and the signal monitor, blocking until both exit. More...
 
bool ScanTransports (int SourceID, const QString &std, const QString &mod, const QString &country, const QString &table_start=QString(), const QString &table_end=QString())
 Generates a list of frequencies to scan and adds it to the scanTransport list, and then sets the scanning to TRANSPORT_LIST. More...
 
bool ScanTransportsStartingOn (int sourceid, const QMap< QString, QString > &startChan)
 Generates a list of frequencies to scan and adds it to the scanTransport list, and then sets the scanning to TRANSPORT_LIST. More...
 
bool ScanTransport (uint mplexid, bool follow_nit)
 
bool ScanCurrentTransport (const QString &sistandard)
 
bool ScanForChannels (uint sourceid, const QString &std, const QString &cardtype, const DTVChannelList &)
 
bool ScanIPTVChannels (uint sourceid, const fbox_chan_map_t &iptv_channels)
 
bool ScanExistingTransports (uint sourceid, bool follow_nit)
 If we are not already scanning a frequency table, this creates a new frequency table from database and begins scanning it. More...
 
void SetAnalog (bool is_analog)
 
void SetSourceID (int _SourceID)
 
void SetSignalTimeout (uint val)
 
void SetChannelTimeout (uint val)
 
void SetScanDTVTunerType (DTVTunerType t)
 
void SetScanDTVTunerType (int t)
 
uint GetSignalTimeout (void) const
 
uint GetChannelTimeout (void) const
 
SignalMonitorGetSignalMonitor (void)
 
DTVSignalMonitorGetDTVSignalMonitor (void)
 
DVBSignalMonitorGetDVBSignalMonitor (void)
 
chan_info_map_t GetChannelList (transport_scan_items_it_t trans_info, ScannedChannelInfo *scan_info) const
 
uint GetCurrentTransportInfo (QString &chan, QString &chan_tr) const
 
ScanDTVTransportList GetChannelList (bool addFullTS) const
 
void HandlePAT (const ProgramAssociationTable *) override
 
void HandleCAT (const ConditionalAccessTable *) override
 
void HandlePMT (uint, const ProgramMapTable *) override
 
void HandleEncryptionStatus (uint pnum, bool encrypted) override
 
void HandleSTT (const SystemTimeTable *) override
 
void HandleMGT (const MasterGuideTable *) override
 
void HandleVCT (uint tsid, const VirtualChannelTable *) override
 
void HandleNIT (const NetworkInformationTable *) override
 
void HandleSDT (uint tsid, const ServiceDescriptionTable *) override
 
void HandleTDT (const TimeDateTable *) override
 
void HandleNITo (const NetworkInformationTable *) override
 
void HandleSDTo (uint tsid, const ServiceDescriptionTable *) override
 
void HandleBAT (const BouquetAssociationTable *) override
 
- Public Member Functions inherited from MPEGStreamListener
virtual void HandleSplice (const SpliceInformationTable *)
 

Private Member Functions

DTVChannelGetDTVChannel (void)
 
const DTVChannelGetDTVChannel (void) const
 
V4LChannelGetV4LChannel (void)
 
HDHRChannelGetHDHRChannel (void)
 
DVBChannelGetDVBChannel (void)
 
const DVBChannelGetDVBChannel (void) const
 
void run (void) override
 This runs the event loop for ChannelScanSM until 'threadExit' is true. More...
 
bool HasTimedOut (void)
 
void HandleActiveScan (void)
 Handles the TRANSPORT_LIST ChannelScanSM mode. More...
 
bool Tune (const transport_scan_items_it_t &transport)
 
void ScanTransport (const transport_scan_items_it_t &transport)
 
DTVTunerType GuessDTVTunerType (DTVTunerType) const
 
void LogLines (const QString &string) const
 
void UpdateScanPercentCompleted (void)
 Updates Transport Scan progress bar. More...
 
bool CheckImportedList (const DTVChannelInfoList &, uint mpeg_program_num, QString &service_name, QString &callsign, QString &common_status_info)
 If we are scanning a dvb-utils import verify channel is in list. More...
 
void IgnoreDataOnlyMsg (const QString &name, int aux_num)
 
void IgnoreEmptyChanMsg (const QString &name, int aux_num)
 
void IgnoreAudioOnlyMsg (const QString &name, int aux_num)
 
void IgnoreEncryptedMsg (const QString &name, int aux_num)
 
bool TestNextProgramEncryption (void)
 
void UpdateScanTransports (const NetworkInformationTable *nit)
 
bool UpdateChannelInfo (bool wait_until_complete)
 
void HandleAllGood (void)
 
bool AddToList (uint mplexid)
 

Static Private Member Functions

static QString loc (const ChannelScanSM *)
 

Private Attributes

ScanMonitorm_scanMonitor
 
ChannelBasem_channel
 
SignalMonitorm_signalMonitor
 
int m_sourceID
 
uint m_signalTimeout
 
uint m_channelTimeout
 
uint m_otherTableTimeout {0}
 
uint m_otherTableTime {0}
 
bool m_setOtherTables {false}
 
QString m_inputName
 
bool m_testDecryption
 
bool m_extendScanList {false}
 
DTVTunerType m_scanDTVTunerType {DTVTunerType::kTunerTypeUnknown}
 
QMutex m_lock
 The big lock. More...
 
bool m_scanning {false}
 
volatile bool m_threadExit {false}
 
bool m_waitingForTables {false}
 
QTime m_timer
 
int m_transportsScanned {0}
 
QSet< uint32_t > m_tsScanned
 
QMap< uint32_t, DTVMultiplexm_extendTransports
 
transport_scan_items_t m_scanTransports
 
transport_scan_items_it_t m_current
 
transport_scan_items_it_t m_nextIt
 
bool m_currentTestingDecryption {false}
 
QMap< uint, uintm_currentEncryptionStatus
 
QMap< uint, boolm_currentEncryptionStatusChecked
 
QMap< uint64_t, QString > m_defAuthorities
 
bool m_dvbt2Tried
 
ChannelList m_channelList
 Found Channel Info. More...
 
uint m_channelsFound {999}
 
ScannedChannelInfom_currentInfo {nullptr}
 
AnalogSignalHandlerm_analogSignalHandler {nullptr}
 
MThreadm_scannerThread {nullptr}
 Scanner thread, runs ChannelScanSM::run() More...
 
QMutex m_mutex
 

Static Private Attributes

static const uint kDVBTableTimeout = 30 * 1000
 SDT's should be sent every 2 seconds and NIT's every 10 seconds, so lets wait at least 30 seconds, in case of bad transmitter or lost packets. More...
 
static const uint kATSCTableTimeout = 10 * 1000
 No logic here, lets just wait at least 10 seconds. More...
 
static const uint kMPEGTableTimeout = 15 * 1000
 No logic here, lets just wait at least 15 seconds. More...
 

Friends

class AnalogSignalHandler
 

Additional Inherited Members

- Protected Member Functions inherited from MPEGStreamListener
virtual ~MPEGStreamListener ()=default
 
- Protected Member Functions inherited from ATSCMainStreamListener
virtual ~ATSCMainStreamListener ()=default
 
- Protected Member Functions inherited from DVBMainStreamListener
virtual ~DVBMainStreamListener ()=default
 
- Protected Member Functions inherited from DVBOtherStreamListener
virtual ~DVBOtherStreamListener ()=default
 

Detailed Description

Scanning class for cards that support a SignalMonitor class.

With ScanStreamData, we call ScanTransport() on each transport and frequency offset in the list of transports. This list is created from a FrequencyTable object.

Each ScanTransport() call resets the ScanStreamData and the SignalMonitor, then tunes to a new frequency and notes the tuning time in the "timer" QTime object.

HandleActiveScan is called every time through the event loop and is what calls ScanTransport(), as well as checking when the current time is "timeoutTune" or "channelTimeout" milliseconds ahead of "timer". When the "timeoutTune" is exceeded we check to see if we have a signal lock on the channel, if we don't we check the next transport. When the larger "channelTimeout" is exceeded we do nothing unless "waitingForTables" is still true,

TODO

Definition at line 85 of file channelscan_sm.h.

Member Typedef Documentation

◆ chan_info_map_t

Definition at line 132 of file channelscan_sm.h.

Constructor & Destructor Documentation

◆ ChannelScanSM()

ChannelScanSM::ChannelScanSM ( ScanMonitor _scan_monitor,
const QString &  _cardtype,
ChannelBase _channel,
int  _sourceID,
uint  signal_timeout,
uint  channel_timeout,
const QString &  _inputname,
bool  test_decryption 
)

Definition at line 139 of file channelscan_sm.cpp.

◆ ~ChannelScanSM()

ChannelScanSM::~ChannelScanSM ( void  )

Definition at line 203 of file channelscan_sm.cpp.

Member Function Documentation

◆ StartScanner()

void ChannelScanSM::StartScanner ( void  )

Starts the ChannelScanSM event loop.

Definition at line 1626 of file channelscan_sm.cpp.

◆ StopScanner()

void ChannelScanSM::StopScanner ( void  )

Stops the ChannelScanSM event loop and the signal monitor, blocking until both exit.

Definition at line 1916 of file channelscan_sm.cpp.

Referenced by ~ChannelScanSM().

◆ ScanTransports()

bool ChannelScanSM::ScanTransports ( int  SourceID,
const QString &  std,
const QString &  mod,
const QString &  country,
const QString &  table_start = QString(),
const QString &  table_end = QString() 
)

Generates a list of frequencies to scan and adds it to the scanTransport list, and then sets the scanning to TRANSPORT_LIST.

Definition at line 1938 of file channelscan_sm.cpp.

◆ ScanTransportsStartingOn()

bool ChannelScanSM::ScanTransportsStartingOn ( int  sourceid,
const QMap< QString, QString > &  startChan 
)

Generates a list of frequencies to scan and adds it to the scanTransport list, and then sets the scanning to TRANSPORT_LIST.

Definition at line 2108 of file channelscan_sm.cpp.

◆ ScanTransport() [1/2]

bool ChannelScanSM::ScanTransport ( uint  mplexid,
bool  follow_nit 
)

Definition at line 2236 of file channelscan_sm.cpp.

Referenced by HandleActiveScan().

◆ ScanCurrentTransport()

bool ChannelScanSM::ScanCurrentTransport ( const QString &  sistandard)

Definition at line 2258 of file channelscan_sm.cpp.

◆ ScanForChannels()

bool ChannelScanSM::ScanForChannels ( uint  sourceid,
const QString &  std,
const QString &  cardtype,
const DTVChannelList channels 
)

Definition at line 2029 of file channelscan_sm.cpp.

◆ ScanIPTVChannels()

bool ChannelScanSM::ScanIPTVChannels ( uint  sourceid,
const fbox_chan_map_t iptv_channels 
)

Definition at line 2069 of file channelscan_sm.cpp.

◆ ScanExistingTransports()

bool ChannelScanSM::ScanExistingTransports ( uint  sourceid,
bool  follow_nit 
)

If we are not already scanning a frequency table, this creates a new frequency table from database and begins scanning it.

This is used by DVB to scan for channels we are told about from other channels.

Note: Something similar could be used with ATSC when EIT for other channels is available on another ATSC channel, as encouraged by the ATSC specification.

Definition at line 304 of file channelscan_sm.cpp.

◆ SetAnalog()

void ChannelScanSM::SetAnalog ( bool  is_analog)

Definition at line 232 of file channelscan_sm.cpp.

◆ SetSourceID()

void ChannelScanSM::SetSourceID ( int  _SourceID)
inline

Definition at line 119 of file channelscan_sm.h.

◆ SetSignalTimeout()

void ChannelScanSM::SetSignalTimeout ( uint  val)
inline

Definition at line 120 of file channelscan_sm.h.

◆ SetChannelTimeout()

void ChannelScanSM::SetChannelTimeout ( uint  val)
inline

Definition at line 121 of file channelscan_sm.h.

◆ SetScanDTVTunerType() [1/2]

void ChannelScanSM::SetScanDTVTunerType ( DTVTunerType  t)
inline

Definition at line 122 of file channelscan_sm.h.

◆ SetScanDTVTunerType() [2/2]

void ChannelScanSM::SetScanDTVTunerType ( int  t)
inline

Definition at line 123 of file channelscan_sm.h.

◆ GetSignalTimeout()

uint ChannelScanSM::GetSignalTimeout ( void  ) const
inline

Definition at line 125 of file channelscan_sm.h.

◆ GetChannelTimeout()

uint ChannelScanSM::GetChannelTimeout ( void  ) const
inline

Definition at line 126 of file channelscan_sm.h.

◆ GetSignalMonitor()

SignalMonitor* ChannelScanSM::GetSignalMonitor ( void  )
inline

Definition at line 128 of file channelscan_sm.h.

Referenced by HasTimedOut(), and UpdateChannelInfo().

◆ GetDTVSignalMonitor()

DTVSignalMonitor * ChannelScanSM::GetDTVSignalMonitor ( void  )

◆ GetDVBSignalMonitor()

DVBSignalMonitor * ChannelScanSM::GetDVBSignalMonitor ( void  )

Definition at line 1568 of file channelscan_sm.cpp.

Referenced by HasTimedOut(), and Tune().

◆ GetChannelList() [1/2]

QMap< uint, ChannelInsertInfo > ChannelScanSM::GetChannelList ( transport_scan_items_it_t  trans_info,
ScannedChannelInfo scan_info 
) const

Definition at line 1210 of file channelscan_sm.cpp.

Referenced by GetChannelList(), and GetCurrentTransportInfo().

◆ GetCurrentTransportInfo()

uint ChannelScanSM::GetCurrentTransportInfo ( QString &  chan,
QString &  chan_tr 
) const

Definition at line 1174 of file channelscan_sm.cpp.

Referenced by TestNextProgramEncryption(), and UpdateChannelInfo().

◆ GetChannelList() [2/2]

ScanDTVTransportList ChannelScanSM::GetChannelList ( bool  addFullTS) const

Definition at line 1491 of file channelscan_sm.cpp.

◆ HandlePAT()

void ChannelScanSM::HandlePAT ( const ProgramAssociationTable pat)
overridevirtual

Implements MPEGStreamListener.

Definition at line 353 of file channelscan_sm.cpp.

◆ HandleCAT()

void ChannelScanSM::HandleCAT ( const ConditionalAccessTable )
inlineoverridevirtual

Implements MPEGStreamListener.

Definition at line 140 of file channelscan_sm.h.

◆ HandlePMT()

void ChannelScanSM::HandlePMT ( uint  ,
const ProgramMapTable pmt 
)
overridevirtual

Implements MPEGStreamListener.

Definition at line 371 of file channelscan_sm.cpp.

◆ HandleEncryptionStatus()

void ChannelScanSM::HandleEncryptionStatus ( uint  pnum,
bool  encrypted 
)
overridevirtual

Implements MPEGStreamListener.

Definition at line 564 of file channelscan_sm.cpp.

◆ HandleSTT()

void ChannelScanSM::HandleSTT ( const SystemTimeTable )
inlineoverridevirtual

Implements ATSCMainStreamListener.

Definition at line 145 of file channelscan_sm.h.

◆ HandleMGT()

void ChannelScanSM::HandleMGT ( const MasterGuideTable mgt)
overridevirtual

Implements ATSCMainStreamListener.

Definition at line 404 of file channelscan_sm.cpp.

◆ HandleVCT()

void ChannelScanSM::HandleVCT ( uint  tsid,
const VirtualChannelTable vct 
)
overridevirtual

Implements ATSCMainStreamListener.

Definition at line 384 of file channelscan_sm.cpp.

◆ HandleNIT()

void ChannelScanSM::HandleNIT ( const NetworkInformationTable nit)
overridevirtual

Implements DVBMainStreamListener.

Definition at line 469 of file channelscan_sm.cpp.

◆ HandleSDT()

void ChannelScanSM::HandleSDT ( uint  tsid,
const ServiceDescriptionTable sdt 
)
overridevirtual
Parameters
tsidUnused. Present so that the HandleSDT and HandleSDTo functions have the same type signature.
sdtA pointer to the service description table.

Implements DVBMainStreamListener.

Definition at line 422 of file channelscan_sm.cpp.

◆ HandleTDT()

void ChannelScanSM::HandleTDT ( const TimeDateTable )
inlineoverridevirtual

Implements DVBMainStreamListener.

Definition at line 152 of file channelscan_sm.h.

◆ HandleNITo()

void ChannelScanSM::HandleNITo ( const NetworkInformationTable )
inlineoverridevirtual

Implements DVBOtherStreamListener.

Definition at line 155 of file channelscan_sm.h.

◆ HandleSDTo()

void ChannelScanSM::HandleSDTo ( uint  tsid,
const ServiceDescriptionTable sdt 
)
overridevirtual

Implements DVBOtherStreamListener.

Definition at line 528 of file channelscan_sm.cpp.

◆ HandleBAT()

void ChannelScanSM::HandleBAT ( const BouquetAssociationTable bat)
overridevirtual

Implements DVBOtherStreamListener.

Definition at line 481 of file channelscan_sm.cpp.

◆ GetDTVChannel() [1/2]

DTVChannel * ChannelScanSM::GetDTVChannel ( void  )
private

Definition at line 1577 of file channelscan_sm.cpp.

Referenced by GetChannelList(), GuessDTVTunerType(), HandlePMT(), and Tune().

◆ GetDTVChannel() [2/2]

const DTVChannel * ChannelScanSM::GetDTVChannel ( void  ) const
private

Definition at line 1582 of file channelscan_sm.cpp.

◆ GetV4LChannel()

V4LChannel * ChannelScanSM::GetV4LChannel ( void  )
private

Definition at line 1614 of file channelscan_sm.cpp.

◆ GetHDHRChannel()

HDHRChannel * ChannelScanSM::GetHDHRChannel ( void  )
private

Definition at line 1587 of file channelscan_sm.cpp.

◆ GetDVBChannel() [1/2]

DVBChannel * ChannelScanSM::GetDVBChannel ( void  )
private

Definition at line 1596 of file channelscan_sm.cpp.

Referenced by HasTimedOut(), and TestNextProgramEncryption().

◆ GetDVBChannel() [2/2]

const DVBChannel * ChannelScanSM::GetDVBChannel ( void  ) const
private

Definition at line 1605 of file channelscan_sm.cpp.

◆ run()

void ChannelScanSM::run ( void  )
overrideprivate

This runs the event loop for ChannelScanSM until 'threadExit' is true.

Definition at line 1645 of file channelscan_sm.cpp.

◆ HasTimedOut()

bool ChannelScanSM::HasTimedOut ( void  )
private

Definition at line 1661 of file channelscan_sm.cpp.

Referenced by HandleActiveScan(), and UpdateChannelInfo().

◆ HandleActiveScan()

void ChannelScanSM::HandleActiveScan ( void  )
private

Handles the TRANSPORT_LIST ChannelScanSM mode.

Definition at line 1742 of file channelscan_sm.cpp.

Referenced by run().

◆ Tune()

bool ChannelScanSM::Tune ( const transport_scan_items_it_t transport)
private

Definition at line 1818 of file channelscan_sm.cpp.

Referenced by ScanTransport().

◆ ScanTransport() [2/2]

void ChannelScanSM::ScanTransport ( const transport_scan_items_it_t transport)
private

Definition at line 1859 of file channelscan_sm.cpp.

◆ GuessDTVTunerType()

DTVTunerType ChannelScanSM::GuessDTVTunerType ( DTVTunerType  type) const
private

Definition at line 659 of file channelscan_sm.cpp.

Referenced by AddToList(), GetChannelList(), and UpdateScanTransports().

◆ LogLines()

void ChannelScanSM::LogLines ( const QString &  string) const
private

◆ UpdateScanPercentCompleted()

void ChannelScanSM::UpdateScanPercentCompleted ( void  )
inlineprivate

Updates Transport Scan progress bar.

Definition at line 258 of file channelscan_sm.h.

Referenced by HandleAllGood(), ScanTransport(), and UpdateChannelInfo().

◆ CheckImportedList()

bool ChannelScanSM::CheckImportedList ( const DTVChannelInfoList channels,
uint  mpeg_program_num,
QString &  service_name,
QString &  callsign,
QString &  common_status_info 
)
private

If we are scanning a dvb-utils import verify channel is in list.

Definition at line 2280 of file channelscan_sm.cpp.

◆ IgnoreDataOnlyMsg()

void ChannelScanSM::IgnoreDataOnlyMsg ( const QString &  name,
int  aux_num 
)
private

◆ IgnoreEmptyChanMsg()

void ChannelScanSM::IgnoreEmptyChanMsg ( const QString &  name,
int  aux_num 
)
private

◆ IgnoreAudioOnlyMsg()

void ChannelScanSM::IgnoreAudioOnlyMsg ( const QString &  name,
int  aux_num 
)
private

◆ IgnoreEncryptedMsg()

void ChannelScanSM::IgnoreEncryptedMsg ( const QString &  name,
int  aux_num 
)
private

◆ TestNextProgramEncryption()

bool ChannelScanSM::TestNextProgramEncryption ( void  )
private

Definition at line 576 of file channelscan_sm.cpp.

Referenced by UpdateChannelInfo().

◆ UpdateScanTransports()

void ChannelScanSM::UpdateScanTransports ( const NetworkInformationTable nit)
private

Definition at line 683 of file channelscan_sm.cpp.

Referenced by UpdateChannelInfo().

◆ UpdateChannelInfo()

bool ChannelScanSM::UpdateChannelInfo ( bool  wait_until_complete)
private

◆ HandleAllGood()

void ChannelScanSM::HandleAllGood ( void  )
private

Definition at line 240 of file channelscan_sm.cpp.

Referenced by AnalogSignalHandler::AllGood().

◆ AddToList()

bool ChannelScanSM::AddToList ( uint  mplexid)
private

Definition at line 2170 of file channelscan_sm.cpp.

Referenced by ScanExistingTransports(), and ScanTransport().

◆ loc()

QString ChannelScanSM::loc ( const ChannelScanSM siscan)
staticprivate

Definition at line 77 of file channelscan_sm.cpp.

Friends And Related Function Documentation

◆ AnalogSignalHandler

friend class AnalogSignalHandler
friend

Definition at line 91 of file channelscan_sm.h.

Member Data Documentation

◆ kDVBTableTimeout

const uint ChannelScanSM::kDVBTableTimeout = 30 * 1000
staticprivate

SDT's should be sent every 2 seconds and NIT's every 10 seconds, so lets wait at least 30 seconds, in case of bad transmitter or lost packets.

Definition at line 201 of file channelscan_sm.h.

Referenced by HasTimedOut().

◆ kATSCTableTimeout

const uint ChannelScanSM::kATSCTableTimeout = 10 * 1000
staticprivate

No logic here, lets just wait at least 10 seconds.

Definition at line 202 of file channelscan_sm.h.

Referenced by HasTimedOut().

◆ kMPEGTableTimeout

const uint ChannelScanSM::kMPEGTableTimeout = 15 * 1000
staticprivate

No logic here, lets just wait at least 15 seconds.

Definition at line 203 of file channelscan_sm.h.

Referenced by HasTimedOut().

◆ m_scanMonitor

ScanMonitor* ChannelScanSM::m_scanMonitor
private

◆ m_channel

ChannelBase* ChannelScanSM::m_channel
private

◆ m_signalMonitor

SignalMonitor* ChannelScanSM::m_signalMonitor
private

◆ m_sourceID

int ChannelScanSM::m_sourceID
private

◆ m_signalTimeout

uint ChannelScanSM::m_signalTimeout
private

◆ m_channelTimeout

uint ChannelScanSM::m_channelTimeout
private

Definition at line 212 of file channelscan_sm.h.

Referenced by GetChannelTimeout(), HasTimedOut(), and SetChannelTimeout().

◆ m_otherTableTimeout

uint ChannelScanSM::m_otherTableTimeout {0}
private

Definition at line 213 of file channelscan_sm.h.

Referenced by HandleBAT(), HandleSDT(), and HandleSDTo().

◆ m_otherTableTime

uint ChannelScanSM::m_otherTableTime {0}
private

Definition at line 214 of file channelscan_sm.h.

Referenced by HandleBAT(), HandleSDT(), HandleSDTo(), and UpdateChannelInfo().

◆ m_setOtherTables

bool ChannelScanSM::m_setOtherTables {false}
private

Definition at line 215 of file channelscan_sm.h.

Referenced by HandleSDT(), and UpdateChannelInfo().

◆ m_inputName

QString ChannelScanSM::m_inputName
private

Definition at line 216 of file channelscan_sm.h.

Referenced by Tune(), and UpdateChannelInfo().

◆ m_testDecryption

bool ChannelScanSM::m_testDecryption
private

Definition at line 217 of file channelscan_sm.h.

Referenced by TestNextProgramEncryption(), and UpdateChannelInfo().

◆ m_extendScanList

bool ChannelScanSM::m_extendScanList {false}
private

◆ m_scanDTVTunerType

DTVTunerType ChannelScanSM::m_scanDTVTunerType {DTVTunerType::kTunerTypeUnknown}
private

◆ m_lock

QMutex ChannelScanSM::m_lock
mutableprivate

◆ m_scanning

bool ChannelScanSM::m_scanning {false}
private

◆ m_threadExit

volatile bool ChannelScanSM::m_threadExit {false}
private

Definition at line 228 of file channelscan_sm.h.

Referenced by run(), StartScanner(), and StopScanner().

◆ m_waitingForTables

bool ChannelScanSM::m_waitingForTables {false}
private

◆ m_timer

QTime ChannelScanSM::m_timer
private

◆ m_transportsScanned

int ChannelScanSM::m_transportsScanned {0}
private

◆ m_tsScanned

QSet<uint32_t> ChannelScanSM::m_tsScanned
private

Definition at line 234 of file channelscan_sm.h.

Referenced by HandleActiveScan(), HandleSDT(), and UpdateScanTransports().

◆ m_extendTransports

QMap<uint32_t,DTVMultiplex> ChannelScanSM::m_extendTransports
private

◆ m_scanTransports

transport_scan_items_t ChannelScanSM::m_scanTransports
private

◆ m_current

transport_scan_items_it_t ChannelScanSM::m_current
private

◆ m_nextIt

transport_scan_items_it_t ChannelScanSM::m_nextIt
private

◆ m_currentTestingDecryption

bool ChannelScanSM::m_currentTestingDecryption {false}
private

◆ m_currentEncryptionStatus

QMap<uint, uint> ChannelScanSM::m_currentEncryptionStatus
private

◆ m_currentEncryptionStatusChecked

QMap<uint, bool> ChannelScanSM::m_currentEncryptionStatusChecked
private

Definition at line 241 of file channelscan_sm.h.

Referenced by TestNextProgramEncryption(), and UpdateChannelInfo().

◆ m_defAuthorities

QMap<uint64_t, QString> ChannelScanSM::m_defAuthorities
private

Definition at line 242 of file channelscan_sm.h.

Referenced by GetChannelList(), HandleBAT(), and HandleSDTo().

◆ m_dvbt2Tried

bool ChannelScanSM::m_dvbt2Tried
private

Definition at line 243 of file channelscan_sm.h.

Referenced by HandleActiveScan(), HandleAllGood(), Tune(), and UpdateChannelInfo().

◆ m_channelList

ChannelList ChannelScanSM::m_channelList
private

Found Channel Info.

Definition at line 246 of file channelscan_sm.h.

Referenced by GetChannelList(), HandleActiveScan(), and UpdateChannelInfo().

◆ m_channelsFound

uint ChannelScanSM::m_channelsFound {999}
private

Definition at line 247 of file channelscan_sm.h.

Referenced by HandleActiveScan(), ScanTransport(), and UpdateChannelInfo().

◆ m_currentInfo

ScannedChannelInfo* ChannelScanSM::m_currentInfo {nullptr}
private

◆ m_analogSignalHandler

AnalogSignalHandler* ChannelScanSM::m_analogSignalHandler {nullptr}
private

Definition at line 251 of file channelscan_sm.h.

Referenced by SetAnalog(), and ~ChannelScanSM().

◆ m_scannerThread

MThread* ChannelScanSM::m_scannerThread {nullptr}
private

Scanner thread, runs ChannelScanSM::run()

Definition at line 254 of file channelscan_sm.h.

Referenced by StartScanner(), and StopScanner().

◆ m_mutex

QMutex ChannelScanSM::m_mutex
private

Definition at line 255 of file channelscan_sm.h.

Referenced by UpdateChannelInfo().


The documentation for this class was generated from the following files: