MythTV  master
dvbsignalmonitor.h
Go to the documentation of this file.
1 // -*- Mode: c++ -*-
2 
3 #ifndef DVBSIGNALMONITOR_H
4 #define DVBSIGNALMONITOR_H
5 
6 // Qt headers
7 #include <QStringList>
8 #include <QCoreApplication>
9 
10 // MythTV headers
11 #include "dtvsignalmonitor.h"
12 
13 class DVBChannel;
14 class DVBStreamHandler;
16 
18 {
20 
21  public:
22  DVBSignalMonitor(int db_cardnum, DVBChannel* _channel,
23  bool _release_stream,
24  uint64_t _flags =
27  ~DVBSignalMonitor() override;
28 
29  QStringList GetStatusList(void) const override; // DTVSignalMonitor
30  void Stop(void) override; // SignalMonitor
31 
32  void SetRotorTarget(float target) override; // DTVSignalMonitor
33  void GetRotorStatus(bool &was_moving, bool &is_moving) override; // DTVSignalMonitor
34  void SetRotorValue(int val) override // DTVSignalMonitor
35  {
36  QMutexLocker locker(&m_statusLock);
38  }
39 
40  void EmitStatus(void) override; // SignalMonitor
41 
42  // MPEG
43  void HandlePMT(uint program_num, const ProgramMapTable *pmt) override; // DTVSignalMonitor
44 
45  // ATSC Main
46  void HandleSTT(const SystemTimeTable *stt) override; // DTVSignalMonitor
47 
48  // DVB Main
49  void HandleTDT(const TimeDateTable *tdt) override; // DTVSignalMonitor
50 
51  protected:
52  DVBSignalMonitor(void);
54 
55  void UpdateValues(void) override; // SignalMonitor
56  void EmitDVBSignals(void);
57 
59 
60  protected:
65 
68 };
69 
70 #endif // DVBSIGNALMONITOR_H
DVBSignalMonitor::m_signalToNoise
SignalMonitorValue m_signalToNoise
Definition: dvbsignalmonitor.h:61
SignalMonitorValue::SetValue
void SetValue(int _value)
Definition: signalmonitorvalue.h:74
DVBSignalMonitor::m_bitErrorRate
SignalMonitorValue m_bitErrorRate
Definition: dvbsignalmonitor.h:62
TimeDateTable
This table gives the current DVB stream time.
Definition: dvbtables.h:381
DVBSignalMonitor::m_uncorrectedBlocks
SignalMonitorValue m_uncorrectedBlocks
Definition: dvbsignalmonitor.h:63
ProgramMapTable
A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe t...
Definition: mpegtables.h:694
DVBSignalMonitor
Definition: dvbsignalmonitor.h:17
SignalMonitor::kDVBSigMon_WaitForSNR
static const uint64_t kDVBSigMon_WaitForSNR
Wait for the Signal to Noise Ratio to rise above a threshold.
Definition: signalmonitor.h:192
DVBSignalMonitor::SetRotorTarget
void SetRotorTarget(float target) override
Sets rotor target pos from 0.0 to 1.0.
Definition: dvbsignalmonitor.cpp:178
DVBSignalMonitor::m_streamHandler
DVBStreamHandler * m_streamHandler
Definition: dvbsignalmonitor.h:67
DVBSignalMonitor::~DVBSignalMonitor
~DVBSignalMonitor() override
Stops signal monitoring and table monitoring threads.
Definition: dvbsignalmonitor.cpp:171
DVBSignalMonitor::GetStatusList
QStringList GetStatusList(void) const override
Returns QStringList containing all signals and their current values.
Definition: dvbsignalmonitor.cpp:215
SignalMonitor::kDVBSigMon_WaitForBER
static const uint64_t kDVBSigMon_WaitForBER
Wait for the Bit Error Rate to fall below a threshold.
Definition: signalmonitor.h:194
DVBSignalMonitor::HandleTDT
void HandleTDT(const TimeDateTable *tdt) override
Definition: dvbsignalmonitor.cpp:251
DVBSignalMonitor::EmitStatus
void EmitStatus(void) override
Emits signals for lock, signal strength, etc.
Definition: dvbsignalmonitor.cpp:406
DVBSignalMonitor::UpdateValues
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
Definition: dvbsignalmonitor.cpp:270
SignalMonitor::kSigMon_WaitForSig
static const uint64_t kSigMon_WaitForSig
Definition: signalmonitor.h:185
DVBSignalMonitor::GetRotorStatus
void GetRotorStatus(bool &was_moving, bool &is_moving) override
Definition: dvbsignalmonitor.cpp:184
DVBSignalMonitor::m_rotorPosition
SignalMonitorValue m_rotorPosition
Definition: dvbsignalmonitor.h:64
SignalMonitor::m_statusLock
QRecursiveMutex m_statusLock
Definition: signalmonitor.h:227
DVBSignalMonitor::SetRotorValue
void SetRotorValue(int val) override
Definition: dvbsignalmonitor.h:34
SignalMonitor::kDVBSigMon_WaitForUB
static const uint64_t kDVBSigMon_WaitForUB
Wait for uncorrected FEC blocks to fall below a threshold.
Definition: signalmonitor.h:196
DVBSignalMonitor::GetDVBChannel
DVBChannel * GetDVBChannel(void)
Definition: dvbsignalmonitor.cpp:259
DVBSignalMonitor::HandlePMT
void HandlePMT(uint program_num, const ProgramMapTable *pmt) override
Definition: dvbsignalmonitor.cpp:231
DVBSignalMonitor::EmitDVBSignals
void EmitDVBSignals(void)
DVBSignalMonitor::HandleSTT
void HandleSTT(const SystemTimeTable *stt) override
Definition: dvbsignalmonitor.cpp:243
SignalMonitorValue
Definition: signalmonitorvalue.h:13
uint
unsigned int uint
Definition: compat.h:81
DVBStreamHandler
Definition: dvbstreamhandler.h:32
DVBSignalMonitor::DVBSignalMonitor
DVBSignalMonitor(void)
DVBChannel
Provides interface to the tuning hardware when using DVB drivers.
Definition: dvbchannel.h:31
DVBSignalMonitorListener
Definition: signalmonitorlistener.h:57
DTVSignalMonitor
This class is intended to detect the presence of needed tables.
Definition: dtvsignalmonitor.h:14
SystemTimeTable
This table contains the GPS time at the time of transmission.
Definition: atsctables.h:684
DVBSignalMonitor::Stop
void Stop(void) override
Stop signal monitoring and table monitoring threads.
Definition: dvbsignalmonitor.cpp:204
DVBSignalMonitor::Q_DECLARE_TR_FUNCTIONS
Q_DECLARE_TR_FUNCTIONS(DVBSignalMonitor)
dtvsignalmonitor.h
DVBSignalMonitor::m_streamHandlerStarted
bool m_streamHandlerStarted
Definition: dvbsignalmonitor.h:66