MythTV  master
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
SignalMonitor Class Reference

Signal monitoring base class. More...

#include <signalmonitor.h>

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

Public Member Functions

 ~SignalMonitor () override
 Stops monitoring thread. More...
 
 SignalMonitor (int, ChannelBase *, uint64_t, bool)=delete
 
virtual void Start ()
 Start signal monitoring thread. More...
 
virtual void Stop ()
 Stop signal monitoring thread. More...
 
virtual void AddFlags (uint64_t _flags)
 
virtual void RemoveFlags (uint64_t _flags)
 
bool HasFlags (uint64_t _flags) const
 
bool HasAnyFlag (uint64_t _flags) const
 
uint64_t GetFlags (void) const
 
virtual bool HasExtraSlowTuning (void) const
 
bool GetNotifyFrontend () const
 Returns whether or not a SIGNAL MythEvent is being sent regularly to the frontend. More...
 
std::chrono::milliseconds GetUpdateRate () const
 Returns milliseconds between signal monitoring events. More...
 
virtual QStringList GetStatusList (void) const
 Returns QStringList containing all signals and their current values. More...
 
int GetSignalStrength (void)
 
bool HasSignalLock (void) const
 Returns true iff scriptStatus.IsGood() and signalLock.IsGood() return true. More...
 
virtual bool IsAllGood (void) const
 
bool IsErrored (void) const
 
void SetNotifyFrontend (bool notify)
 Enables or disables frontend notification of the current signal value. More...
 
void SetMonitoring (TVRec *parent, bool EITscan, bool monitor)
 Indicate if table monitoring is needed. More...
 
void SetUpdateRate (std::chrono::milliseconds msec)
 Sets the number of milliseconds between signal monitoring attempts in the signal monitoring thread. More...
 
void AddListener (SignalMonitorListener *listener)
 
void RemoveListener (SignalMonitorListener *listener)
 
void SendMessage (SignalMonitorMessageType type, const SignalMonitorValue &val)
 
void SendMessageAllGood (void)
 
virtual void EmitStatus (void)
 

Static Public Member Functions

static bool IsRequired (const QString &cardtype)
 Returns true iff the card type supports signal monitoring. More...
 
static bool IsSupported (const QString &cardtype)
 
static SignalMonitorInit (const QString &cardtype, int db_cardnum, ChannelBase *channel, bool release_stream)
 

Static Public Attributes

static const uint64_t kDTVSigMon_PATSeen = 0x0000000001ULL
 We've seen a PAT, which maps MPEG program numbers to pids where we find PMTs. More...
 
static const uint64_t kDTVSigMon_PMTSeen = 0x0000000002ULL
 We've seen a PMT, which maps program to audio, video and other stream PIDs. More...
 
static const uint64_t kDTVSigMon_MGTSeen = 0x0000000004ULL
 We've seen a MGT, which tells us on which PIDs to find VCT and other ATSC tables. More...
 
static const uint64_t kDTVSigMon_VCTSeen = 0x0000000008ULL
 We've seen a VCT, which maps ATSC Channels to MPEG program numbers, and provides additional data. More...
 
static const uint64_t kDTVSigMon_TVCTSeen = 0x0000000010ULL
 We've seen a TVCT, the terrestrial version of the VCT. More...
 
static const uint64_t kDTVSigMon_CVCTSeen = 0x0000000020ULL
 We've seen a CVCT, the cable version of the VCT. More...
 
static const uint64_t kDTVSigMon_NITSeen = 0x0000000040ULL
 We've seen a NIT, which tells us where to find SDT and other DVB tables. More...
 
static const uint64_t kDTVSigMon_SDTSeen = 0x0000000080ULL
 We've seen a SDT, which maps DVB Channels to MPEG program numbers, and provides additional data. More...
 
static const uint64_t kFWSigMon_PowerSeen = 0x0000000100ULL
 We've seen the FireWire STB power state. More...
 
static const uint64_t kDTVSigMon_CryptSeen = 0x0000000200ULL
 We've seen something indicating whether the data stream is encrypted. More...
 
static const uint64_t kDTVSigMon_PATMatch = 0x0000001000ULL
 We've seen a PAT matching our requirements. More...
 
static const uint64_t kDTVSigMon_PMTMatch = 0x0000002000ULL
 We've seen a PMT matching our requirements. More...
 
static const uint64_t kDTVSigMon_MGTMatch = 0x0000004000ULL
 We've seen an MGT matching our requirements. More...
 
static const uint64_t kDTVSigMon_VCTMatch = 0x0000008000ULL
 We've seen a VCT matching our requirements. More...
 
static const uint64_t kDTVSigMon_TVCTMatch = 0x0000010000ULL
 We've seen a TVCT matching our requirements. More...
 
static const uint64_t kDTVSigMon_CVCTMatch = 0x0000020000ULL
 We've seen a CVCT matching our requirements. More...
 
static const uint64_t kDTVSigMon_NITMatch = 0x0000040000ULL
 We've seen an NIT matching our requirements. More...
 
static const uint64_t kDTVSigMon_SDTMatch = 0x0000080000ULL
 We've seen an SDT matching our requirements. More...
 
static const uint64_t kFWSigMon_PowerMatch = 0x0000100000ULL
 We've seen a FireWire STB power state matching our requirements. More...
 
static const uint64_t kDTVSigMon_CryptMatch = 0x0000200000ULL
 We've seen unencrypted data in data stream. More...
 
static const uint64_t kDTVSigMon_WaitForPAT = 0x0001000000ULL
 
static const uint64_t kDTVSigMon_WaitForPMT = 0x0002000000ULL
 
static const uint64_t kDTVSigMon_WaitForMGT = 0x0004000000ULL
 
static const uint64_t kDTVSigMon_WaitForVCT = 0x0008000000ULL
 
static const uint64_t kDTVSigMon_WaitForNIT = 0x0010000000ULL
 
static const uint64_t kDTVSigMon_WaitForSDT = 0x0020000000ULL
 
static const uint64_t kSigMon_WaitForSig = 0x0040000000ULL
 
static const uint64_t kFWSigMon_WaitForPower = 0x0080000000ULL
 
static const uint64_t kDTVSigMon_WaitForCrypt =0x0100000000ULL
 
static const uint64_t kDTVSigMon_WaitForAll = 0x01FF000000ULL
 
static const uint64_t kDVBSigMon_WaitForSNR = 0x1000000000ULL
 Wait for the Signal to Noise Ratio to rise above a threshold. More...
 
static const uint64_t kDVBSigMon_WaitForBER = 0x2000000000ULL
 Wait for the Bit Error Rate to fall below a threshold. More...
 
static const uint64_t kDVBSigMon_WaitForUB = 0x4000000000ULL
 Wait for uncorrected FEC blocks to fall below a threshold. More...
 
static const uint64_t kDVBSigMon_WaitForPos = 0x8000000000ULL
 Wait for rotor to complete turning the antenna. More...
 

Protected Member Functions

 SignalMonitor (int _inputid, ChannelBase *_channel, bool _release_stream, uint64_t wait_for_mask)
 Initializes signal lock and signal values. More...
 
void run (void) override
 Basic signal monitoring loop. More...
 
virtual void UpdateValues (void)
 This should be overridden to actually do signal monitoring. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
 MThread (const MThread &)=delete
 
MThreadoperator= (const MThread &)=delete
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority p=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (std::chrono::milliseconds time=std::chrono::milliseconds::max())
 Wait for the MThread to exit, with a maximum timeout. More...
 

Protected Attributes

ChannelBasem_channel {nullptr}
 
TVRecm_pParent {nullptr}
 
int m_inputid
 
volatile uint64_t m_flags
 
bool m_releaseStream
 
std::chrono::milliseconds m_updateRate {25ms}
 
std::chrono::milliseconds m_minimumUpdateRate {5ms}
 
bool m_updateDone {false}
 
bool m_notifyFrontend {true}
 
bool m_tablemon {false}
 
bool m_eitScan {false}
 
QString m_error
 
SignalMonitorValue m_signalLock
 
SignalMonitorValue m_signalStrength
 
SignalMonitorValue m_scriptStatus
 
std::vector< SignalMonitorListener * > m_listeners
 
QMutex m_startStopLock
 
QWaitCondition m_startStopWait
 
volatile bool m_running {false}
 
volatile bool m_exit {false}
 
QRecursiveMutex m_statusLock
 
QMutex m_listenerLock
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Private Member Functions

 Q_DECLARE_TR_FUNCTIONS (SignalMonitor)
 

Additional Inherited Members

- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void usleep (std::chrono::microseconds time)
 
template<typename R , typename P >
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > usleep (std::chrono::duration< R, P > time)
 
static void ThreadSetup (const QString &name)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 

Detailed Description

Signal monitoring base class.

Signal monitors should extend this to add signal monitoring to their recorder. All signal monitors must implement one signals, the StatusSignalLock(int) signal. The lock signal should only be set to true when it is absolutely safe to begin or to continue recording. The optional StatusSignalStrength signal should report the actual signal value.

Additional signals may be implemented, see DTVSignalMonitor and DVBSignalMonitor for example.

See also
AnalocSignalMonitor, DTVSignalMonitor, DVBSignalMonitor, HDHRSignalMonitor, SignalMonitorValue

Definition at line 30 of file signalmonitor.h.

Constructor & Destructor Documentation

◆ ~SignalMonitor()

SignalMonitor::~SignalMonitor ( )
override

Stops monitoring thread.

Definition at line 257 of file signalmonitor.cpp.

◆ SignalMonitor() [1/2]

SignalMonitor::SignalMonitor ( int  ,
ChannelBase ,
uint64_t  ,
bool   
)
delete

◆ SignalMonitor() [2/2]

SignalMonitor::SignalMonitor ( int  _inputid,
ChannelBase _channel,
bool  _release_stream,
uint64_t  wait_for_mask 
)
protected

Initializes signal lock and signal values.

Start() must be called to actually begin continuous signal monitoring.

Parameters
_inputidRecorder number to monitor, if this is less than 0, SIGNAL events will not be sent to the frontend even if SetNotifyFrontend(true) is called.
_channelChannelBase class for our monitoring
wait_for_maskSignalMonitorFlags to start with.

Definition at line 235 of file signalmonitor.cpp.

Member Function Documentation

◆ Q_DECLARE_TR_FUNCTIONS()

SignalMonitor::Q_DECLARE_TR_FUNCTIONS ( SignalMonitor  )
private

◆ IsRequired()

bool SignalMonitor::IsRequired ( const QString &  cardtype)
inlinestatic

Returns true iff the card type supports signal monitoring.

Definition at line 310 of file signalmonitor.h.

Referenced by RemoteEncoder::GetSignalLockTimeout(), IsSupported(), and TVRec::TuningFrequency().

◆ IsSupported()

bool SignalMonitor::IsSupported ( const QString &  cardtype)
inlinestatic

Definition at line 315 of file signalmonitor.h.

Referenced by TVRec::SetSignalMonitoringRate(), and TVRec::SetupSignalMonitor().

◆ Init()

SignalMonitor * SignalMonitor::Init ( const QString &  cardtype,
int  db_cardnum,
ChannelBase channel,
bool  release_stream 
)
static

Definition at line 91 of file signalmonitor.cpp.

Referenced by TVRec::SetupSignalMonitor().

◆ Start()

void SignalMonitor::Start ( )
virtual

Start signal monitoring thread.

Definition at line 288 of file signalmonitor.cpp.

Referenced by ChannelScanSM::ScanTransport(), and TVRec::SetupSignalMonitor().

◆ Stop()

void SignalMonitor::Stop ( )
virtual

◆ AddFlags()

void SignalMonitor::AddFlags ( uint64_t  _flags)
virtual

Reimplemented in DTVSignalMonitor.

Definition at line 263 of file signalmonitor.cpp.

Referenced by DTVSignalMonitor::AddFlags().

◆ RemoveFlags()

void SignalMonitor::RemoveFlags ( uint64_t  _flags)
virtual

Reimplemented in DTVSignalMonitor.

Definition at line 269 of file signalmonitor.cpp.

Referenced by DTVSignalMonitor::RemoveFlags().

◆ HasFlags()

bool SignalMonitor::HasFlags ( uint64_t  _flags) const

◆ HasAnyFlag()

bool SignalMonitor::HasAnyFlag ( uint64_t  _flags) const

◆ GetFlags()

uint64_t SignalMonitor::GetFlags ( void  ) const
inline

Definition at line 59 of file signalmonitor.h.

◆ HasExtraSlowTuning()

virtual bool SignalMonitor::HasExtraSlowTuning ( void  ) const
inlinevirtual

Definition at line 60 of file signalmonitor.h.

Referenced by TVRec::SetupSignalMonitor().

◆ GetNotifyFrontend()

bool SignalMonitor::GetNotifyFrontend ( ) const
inline

Returns whether or not a SIGNAL MythEvent is being sent regularly to the frontend.

Definition at line 67 of file signalmonitor.h.

◆ GetUpdateRate()

std::chrono::milliseconds SignalMonitor::GetUpdateRate ( ) const
inline

Returns milliseconds between signal monitoring events.

Definition at line 69 of file signalmonitor.h.

◆ GetStatusList()

QStringList SignalMonitor::GetStatusList ( void  ) const
virtual

Returns QStringList containing all signals and their current values.

This serializes the signal monitoring values so that they can be passed from a backend to a frontend.

SignalMonitorValue::Parse(const QStringList&) will convert this to a vector of SignalMonitorValue instances.

Reimplemented in DVBSignalMonitor, and DTVSignalMonitor.

Definition at line 328 of file signalmonitor.cpp.

Referenced by DTVSignalMonitor::GetStatusList(), and run().

◆ GetSignalStrength()

int SignalMonitor::GetSignalStrength ( void  )
inline

Definition at line 71 of file signalmonitor.h.

Referenced by ChannelScanSM::UpdateChannelInfo().

◆ HasSignalLock()

bool SignalMonitor::HasSignalLock ( void  ) const
inline

Returns true iff scriptStatus.IsGood() and signalLock.IsGood() return true.

Definition at line 75 of file signalmonitor.h.

Referenced by ChannelScanSM::HasTimedOut(), IsAllGood(), and ChannelScanSM::UpdateChannelInfo().

◆ IsAllGood()

virtual bool SignalMonitor::IsAllGood ( void  ) const
inlinevirtual

◆ IsErrored()

bool SignalMonitor::IsErrored ( void  ) const
inline

Definition at line 82 of file signalmonitor.h.

Referenced by TVRec::TuningSignalCheck().

◆ SetNotifyFrontend()

void SignalMonitor::SetNotifyFrontend ( bool  notify)
inline

Enables or disables frontend notification of the current signal value.

Parameters
notifyif true SIGNAL MythEvents are sent to the frontend, otherwise they are not.

Definition at line 92 of file signalmonitor.h.

Referenced by TVRec::SetupSignalMonitor().

◆ SetMonitoring()

void SignalMonitor::SetMonitoring ( TVRec parent,
bool  EITscan,
bool  monitor 
)
inline

Indicate if table monitoring is needed.

Parameters
parentThe TVRec* that this signal monitor is attached to.
EITscanUnused
monitorif true parent->SetupDTVSignalMonitor is called after the channel is tuned.

Definition at line 100 of file signalmonitor.h.

◆ SetUpdateRate()

void SignalMonitor::SetUpdateRate ( std::chrono::milliseconds  msec)
inline

Sets the number of milliseconds between signal monitoring attempts in the signal monitoring thread.

Defaults to 25 milliseconds.

Parameters
msecMilliseconds between signal monitoring events.

Definition at line 109 of file signalmonitor.h.

Referenced by TVRec::SetupSignalMonitor().

◆ AddListener()

void SignalMonitor::AddListener ( SignalMonitorListener listener)

◆ RemoveListener()

void SignalMonitor::RemoveListener ( SignalMonitorListener listener)

Definition at line 396 of file signalmonitor.cpp.

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

◆ SendMessage()

void SignalMonitor::SendMessage ( SignalMonitorMessageType  type,
const SignalMonitorValue val 
)

◆ SendMessageAllGood()

void SignalMonitor::SendMessageAllGood ( void  )

◆ EmitStatus()

void SignalMonitor::EmitStatus ( void  )
virtual

◆ run()

void SignalMonitor::run ( void  )
overrideprotectedvirtual

Basic signal monitoring loop.

Reimplemented from MThread.

Definition at line 342 of file signalmonitor.cpp.

◆ UpdateValues()

void SignalMonitor::UpdateValues ( void  )
protectedvirtual

Member Data Documentation

◆ kDTVSigMon_PATSeen

const uint64_t SignalMonitor::kDTVSigMon_PATSeen = 0x0000000001ULL
static

We've seen a PAT, which maps MPEG program numbers to pids where we find PMTs.

Definition at line 133 of file signalmonitor.h.

Referenced by FirewireSignalMonitor::HandlePAT(), DTVSignalMonitor::HandlePAT(), DTVSignalMonitor::SetChannel(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_PMTSeen

const uint64_t SignalMonitor::kDTVSigMon_PMTSeen = 0x0000000002ULL
static

◆ kDTVSigMon_MGTSeen

const uint64_t SignalMonitor::kDTVSigMon_MGTSeen = 0x0000000004ULL
static

We've seen a MGT, which tells us on which PIDs to find VCT and other ATSC tables.

Definition at line 139 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleMGT(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_VCTSeen

const uint64_t SignalMonitor::kDTVSigMon_VCTSeen = 0x0000000008ULL
static

We've seen a VCT, which maps ATSC Channels to MPEG program numbers, and provides additional data.

Definition at line 142 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleCVCT(), DTVSignalMonitor::HandleTVCT(), DTVSignalMonitor::SetChannel(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_TVCTSeen

const uint64_t SignalMonitor::kDTVSigMon_TVCTSeen = 0x0000000010ULL
static

We've seen a TVCT, the terrestrial version of the VCT.

Definition at line 144 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleTVCT(), and sm_flags_to_string().

◆ kDTVSigMon_CVCTSeen

const uint64_t SignalMonitor::kDTVSigMon_CVCTSeen = 0x0000000020ULL
static

We've seen a CVCT, the cable version of the VCT.

Definition at line 146 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleCVCT(), and sm_flags_to_string().

◆ kDTVSigMon_NITSeen

const uint64_t SignalMonitor::kDTVSigMon_NITSeen = 0x0000000040ULL
static

We've seen a NIT, which tells us where to find SDT and other DVB tables.

Definition at line 149 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleNIT(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_SDTSeen

const uint64_t SignalMonitor::kDTVSigMon_SDTSeen = 0x0000000080ULL
static

We've seen a SDT, which maps DVB Channels to MPEG program numbers, and provides additional data.

Definition at line 152 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleSDT(), DTVSignalMonitor::SetDVBService(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kFWSigMon_PowerSeen

const uint64_t SignalMonitor::kFWSigMon_PowerSeen = 0x0000000100ULL
static

We've seen the FireWire STB power state.

Definition at line 154 of file signalmonitor.h.

Referenced by sm_flags_to_string(), and FirewireSignalMonitor::UpdateValues().

◆ kDTVSigMon_CryptSeen

const uint64_t SignalMonitor::kDTVSigMon_CryptSeen = 0x0000000200ULL
static

◆ kDTVSigMon_PATMatch

const uint64_t SignalMonitor::kDTVSigMon_PATMatch = 0x0000001000ULL
static

◆ kDTVSigMon_PMTMatch

const uint64_t SignalMonitor::kDTVSigMon_PMTMatch = 0x0000002000ULL
static

◆ kDTVSigMon_MGTMatch

const uint64_t SignalMonitor::kDTVSigMon_MGTMatch = 0x0000004000ULL
static

We've seen an MGT matching our requirements.

Definition at line 163 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleMGT(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_VCTMatch

const uint64_t SignalMonitor::kDTVSigMon_VCTMatch = 0x0000008000ULL
static

◆ kDTVSigMon_TVCTMatch

const uint64_t SignalMonitor::kDTVSigMon_TVCTMatch = 0x0000010000ULL
static

We've seen a TVCT matching our requirements.

Definition at line 167 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleTVCT(), and sm_flags_to_string().

◆ kDTVSigMon_CVCTMatch

const uint64_t SignalMonitor::kDTVSigMon_CVCTMatch = 0x0000020000ULL
static

We've seen a CVCT matching our requirements.

Definition at line 169 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleCVCT(), and sm_flags_to_string().

◆ kDTVSigMon_NITMatch

const uint64_t SignalMonitor::kDTVSigMon_NITMatch = 0x0000040000ULL
static

We've seen an NIT matching our requirements.

Definition at line 171 of file signalmonitor.h.

Referenced by sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kDTVSigMon_SDTMatch

const uint64_t SignalMonitor::kDTVSigMon_SDTMatch = 0x0000080000ULL
static

We've seen an SDT matching our requirements.

Definition at line 173 of file signalmonitor.h.

Referenced by DTVSignalMonitor::HandleSDT(), DTVSignalMonitor::SetDVBService(), sm_flags_to_string(), and DTVSignalMonitor::UpdateMonitorValues().

◆ kFWSigMon_PowerMatch

const uint64_t SignalMonitor::kFWSigMon_PowerMatch = 0x0000100000ULL
static

We've seen a FireWire STB power state matching our requirements.

Definition at line 175 of file signalmonitor.h.

Referenced by sm_flags_to_string(), and FirewireSignalMonitor::UpdateValues().

◆ kDTVSigMon_CryptMatch

const uint64_t SignalMonitor::kDTVSigMon_CryptMatch = 0x0000200000ULL
static

◆ kDTVSigMon_WaitForPAT

const uint64_t SignalMonitor::kDTVSigMon_WaitForPAT = 0x0001000000ULL
static

◆ kDTVSigMon_WaitForPMT

const uint64_t SignalMonitor::kDTVSigMon_WaitForPMT = 0x0002000000ULL
static

◆ kDTVSigMon_WaitForMGT

const uint64_t SignalMonitor::kDTVSigMon_WaitForMGT = 0x0004000000ULL
static

◆ kDTVSigMon_WaitForVCT

const uint64_t SignalMonitor::kDTVSigMon_WaitForVCT = 0x0008000000ULL
static

◆ kDTVSigMon_WaitForNIT

const uint64_t SignalMonitor::kDTVSigMon_WaitForNIT = 0x0010000000ULL
static

◆ kDTVSigMon_WaitForSDT

const uint64_t SignalMonitor::kDTVSigMon_WaitForSDT = 0x0020000000ULL
static

◆ kSigMon_WaitForSig

const uint64_t SignalMonitor::kSigMon_WaitForSig = 0x0040000000ULL
static

◆ kFWSigMon_WaitForPower

const uint64_t SignalMonitor::kFWSigMon_WaitForPower = 0x0080000000ULL
static

Definition at line 186 of file signalmonitor.h.

Referenced by sm_flags_to_string(), and FirewireSignalMonitor::UpdateValues().

◆ kDTVSigMon_WaitForCrypt

const uint64_t SignalMonitor::kDTVSigMon_WaitForCrypt =0x0100000000ULL
static

◆ kDTVSigMon_WaitForAll

const uint64_t SignalMonitor::kDTVSigMon_WaitForAll = 0x01FF000000ULL
static

Definition at line 189 of file signalmonitor.h.

◆ kDVBSigMon_WaitForSNR

const uint64_t SignalMonitor::kDVBSigMon_WaitForSNR = 0x1000000000ULL
static

Wait for the Signal to Noise Ratio to rise above a threshold.

Definition at line 192 of file signalmonitor.h.

Referenced by DVBSignalMonitor::DVBSignalMonitor(), DVBSignalMonitor::EmitStatus(), DVBSignalMonitor::GetStatusList(), sm_flags_to_string(), and DVBSignalMonitor::UpdateValues().

◆ kDVBSigMon_WaitForBER

const uint64_t SignalMonitor::kDVBSigMon_WaitForBER = 0x2000000000ULL
static

Wait for the Bit Error Rate to fall below a threshold.

Definition at line 194 of file signalmonitor.h.

Referenced by DVBSignalMonitor::DVBSignalMonitor(), DVBSignalMonitor::EmitStatus(), DVBSignalMonitor::GetStatusList(), sm_flags_to_string(), and DVBSignalMonitor::UpdateValues().

◆ kDVBSigMon_WaitForUB

const uint64_t SignalMonitor::kDVBSigMon_WaitForUB = 0x4000000000ULL
static

Wait for uncorrected FEC blocks to fall below a threshold.

Definition at line 196 of file signalmonitor.h.

Referenced by DVBSignalMonitor::DVBSignalMonitor(), DVBSignalMonitor::EmitStatus(), DVBSignalMonitor::GetStatusList(), sm_flags_to_string(), and DVBSignalMonitor::UpdateValues().

◆ kDVBSigMon_WaitForPos

const uint64_t SignalMonitor::kDVBSigMon_WaitForPos = 0x8000000000ULL
static

◆ m_channel

ChannelBase* SignalMonitor::m_channel {nullptr}
protected

◆ m_pParent

TVRec* SignalMonitor::m_pParent {nullptr}
protected

Definition at line 202 of file signalmonitor.h.

Referenced by SetMonitoring().

◆ m_inputid

int SignalMonitor::m_inputid
protected

◆ m_flags

volatile uint64_t SignalMonitor::m_flags
protected

◆ m_releaseStream

bool SignalMonitor::m_releaseStream
protected

Definition at line 205 of file signalmonitor.h.

◆ m_updateRate

std::chrono::milliseconds SignalMonitor::m_updateRate {25ms}
protected

Definition at line 206 of file signalmonitor.h.

Referenced by GetUpdateRate(), run(), and SetUpdateRate().

◆ m_minimumUpdateRate

std::chrono::milliseconds SignalMonitor::m_minimumUpdateRate {5ms}
protected

Definition at line 207 of file signalmonitor.h.

Referenced by DVBSignalMonitor::DVBSignalMonitor(), and SetUpdateRate().

◆ m_updateDone

bool SignalMonitor::m_updateDone {false}
protected

◆ m_notifyFrontend

bool SignalMonitor::m_notifyFrontend {true}
protected

Definition at line 209 of file signalmonitor.h.

Referenced by GetNotifyFrontend(), run(), and SetNotifyFrontend().

◆ m_tablemon

bool SignalMonitor::m_tablemon {false}
protected

Definition at line 210 of file signalmonitor.h.

Referenced by SetMonitoring().

◆ m_eitScan

bool SignalMonitor::m_eitScan {false}
protected

Definition at line 211 of file signalmonitor.h.

Referenced by SetMonitoring().

◆ m_error

QString SignalMonitor::m_error
protected

◆ m_signalLock

SignalMonitorValue SignalMonitor::m_signalLock
protected

◆ m_signalStrength

SignalMonitorValue SignalMonitor::m_signalStrength
protected

◆ m_scriptStatus

SignalMonitorValue SignalMonitor::m_scriptStatus
protected

◆ m_listeners

std::vector<SignalMonitorListener*> SignalMonitor::m_listeners
protected

Definition at line 220 of file signalmonitor.h.

Referenced by AddListener(), RemoveListener(), SendMessage(), and SendMessageAllGood().

◆ m_startStopLock

QMutex SignalMonitor::m_startStopLock
protected

Definition at line 222 of file signalmonitor.h.

Referenced by run(), Start(), and Stop().

◆ m_startStopWait

QWaitCondition SignalMonitor::m_startStopWait
protected

Definition at line 223 of file signalmonitor.h.

Referenced by run(), and Start().

◆ m_running

volatile bool SignalMonitor::m_running {false}
protected

◆ m_exit

volatile bool SignalMonitor::m_exit {false}
protected

◆ m_statusLock

QRecursiveMutex SignalMonitor::m_statusLock
mutableprotected

◆ m_listenerLock

QMutex SignalMonitor::m_listenerLock
mutableprotected

Definition at line 228 of file signalmonitor.h.

Referenced by AddListener(), RemoveListener(), SendMessage(), and SendMessageAllGood().


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