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  virtual ~DVBSignalMonitor();
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, const ProgramMapTable*) override; // DTVSignalMonitor
44 
45  // ATSC Main
46  void HandleSTT(const SystemTimeTable*) override; // DTVSignalMonitor
47 
48  // DVB Main
49  void HandleTDT(const TimeDateTable*) 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
QMutex m_statusLock
DVBChannel * GetDVBChannel(void)
void Stop(void) override
Stop signal monitoring and table monitoring threads.
static const uint64_t kDVBSigMon_WaitForBER
Wait for the Bit Error Rate to fall below a threshold.
DVBStreamHandler * streamHandler
void HandleTDT(const TimeDateTable *) override
This table gives the current DVB stream time.
Definition: dvbtables.h:373
unsigned int uint
Definition: compat.h:140
Provides interface to the tuning hardware when using DVB drivers.
Definition: dvbchannel.h:29
Q_DECLARE_TR_FUNCTIONS(DVBSignalMonitor)
void SetValue(int _value)
void HandlePMT(uint, const ProgramMapTable *) override
SignalMonitorValue bitErrorRate
static const uint64_t kSigMon_WaitForSig
SignalMonitorValue rotorPosition
void SetRotorTarget(float target) override
Sets rotor target pos from 0.0 to 1.0.
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
void HandleSTT(const SystemTimeTable *) override
QStringList GetStatusList(void) const override
Returns QStringList containing all signals and their current values.
This class is intended to detect the presence of needed tables.
void EmitDVBSignals(void)
void EmitStatus(void) override
Emits signals for lock, signal strength, etc.
void SetRotorValue(int val) override
SignalMonitorValue uncorrectedBlocks
virtual ~DVBSignalMonitor()
Stops signal monitoring and table monitoring threads.
This table contains the GPS time at the time of transmission.
Definition: atsctables.h:683
static const uint64_t kDVBSigMon_WaitForUB
Wait for uncorrected FEC blocks to fall below a threshold.
static const uint64_t kDVBSigMon_WaitForSNR
Wait for the Signal to Noise Ratio to rise above a threshold.
A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe t...
Definition: mpegtables.h:656
void GetRotorStatus(bool &was_moving, bool &is_moving) override
SignalMonitorValue signalToNoise