3#ifndef FIREWIRESIGNALMONITOR_H
4#define FIREWIRESIGNALMONITOR_H
28 void run(
void)
override;
44 void Stop(
void)
override;
57 void AddData(
const unsigned char *data,
uint len)
override;
This class is intended to detect the presence of needed tables.
FirewireChannel Copyright (c) 2005 by Jim Westfall and Dave Abrahams Distributed as part of MythTV un...
void Stop(void) override
Stop signal monitoring and table monitoring threads.
void AddData(const unsigned char *data, uint len) override
Callback function to add MPEG2 TS data.
volatile bool m_dtvMonitorRunning
void HandlePMT(uint pnum, const ProgramMapTable *pmt) override
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
FirewireTableMonitorThread * m_tableMonitorThread
bool SupportsTSMonitoring(void)
static constexpr std::chrono::milliseconds kBufferTimeout
MythTimer m_stbWaitForPowerTimer
FirewireSignalMonitor(void)
bool m_stbNeedsToWaitForPat
~FirewireSignalMonitor() override
Stops signal monitoring and table monitoring threads.
FirewireSignalMonitor(const FirewireSignalMonitor &)
bool m_stbNeedsToWaitForPower
std::vector< unsigned char > m_buffer
void RunTableMonitor(void)
static QMutex s_patKeysLock
static constexpr std::chrono::milliseconds kPowerTimeout
MythTimer m_stbWaitForPatTimer
static QHash< void *, uint > s_patKeys
void HandlePAT(const ProgramAssociationTable *pat) override
~FirewireTableMonitorThread() override
void run(void) override
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
FirewireSignalMonitor * m_parent
FirewireTableMonitorThread(FirewireSignalMonitor *p)
This is a wrapper around QThread that does several additional things.
void start(QThread::Priority p=QThread::InheritPriority)
Tell MThread to start running the thread in the near future.
bool wait(std::chrono::milliseconds time=std::chrono::milliseconds::max())
Wait for the MThread to exit, with a maximum timeout.
A QElapsedTimer based timer to replace use of QTime as a timer.
The Program Association Table lists all the programs in a stream, and is always found on PID 0.
A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe t...
static const uint64_t kFWSigMon_WaitForPower