MythTV
master
|
#include <libmythtv/recorders/scriptsignalmonitor.h>
Public Member Functions | |
ScriptSignalMonitor (int db_cardnum, ChannelBase *_channel, bool _release_stream, uint64_t _flags=0) | |
void | UpdateValues (void) override |
This should be overridden to actually do signal monitoring. More... | |
Public Member Functions inherited from SignalMonitor | |
~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) |
Additional Inherited Members | |
Static Public Member Functions inherited from SignalMonitor | |
static bool | IsRequired (const QString &cardtype) |
Returns true iff the card type supports signal monitoring. More... | |
static bool | IsSupported (const QString &cardtype) |
static SignalMonitor * | Init (const QString &cardtype, int db_cardnum, ChannelBase *channel, bool release_stream) |
Static Public Attributes inherited from SignalMonitor | |
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 inherited from SignalMonitor | |
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... | |
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 | |
MThread & | operator= (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... | |
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) |
Protected Attributes inherited from SignalMonitor | |
ChannelBase * | m_channel {nullptr} |
TVRec * | m_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 | |
MThreadInternal * | m_thread {nullptr} |
QRunnable * | m_runnable {nullptr} |
bool | m_prologExecuted {true} |
bool | m_epilogExecuted {true} |
Definition at line 9 of file scriptsignalmonitor.h.
|
inline |
Definition at line 12 of file scriptsignalmonitor.h.
|
inlineoverridevirtual |
This should be overridden to actually do signal monitoring.
Reimplemented from SignalMonitor.
Definition at line 21 of file scriptsignalmonitor.h.