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
13class DVBChannel;
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:
54
55 void UpdateValues(void) override; // SignalMonitor
56 void EmitDVBSignals(void);
57
59
60 protected:
65
68};
69
70#endif // DVBSIGNALMONITOR_H
This class is intended to detect the presence of needed tables.
Provides interface to the tuning hardware when using DVB drivers.
Definition: dvbchannel.h:31
void HandleTDT(const TimeDateTable *tdt) override
void EmitStatus(void) override
Emits signals for lock, signal strength, etc.
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
SignalMonitorValue m_uncorrectedBlocks
~DVBSignalMonitor() override
Stops signal monitoring and table monitoring threads.
DVBChannel * GetDVBChannel(void)
SignalMonitorValue m_bitErrorRate
DVBSignalMonitor(const DVBSignalMonitor &)
Q_DECLARE_TR_FUNCTIONS(DVBSignalMonitor)
void Stop(void) override
Stop signal monitoring and table monitoring threads.
void SetRotorTarget(float target) override
Sets rotor target pos from 0.0 to 1.0.
void HandlePMT(uint program_num, const ProgramMapTable *pmt) override
SignalMonitorValue m_rotorPosition
QStringList GetStatusList(void) const override
Returns QStringList containing all signals and their current values.
void HandleSTT(const SystemTimeTable *stt) override
DVBStreamHandler * m_streamHandler
void GetRotorStatus(bool &was_moving, bool &is_moving) override
SignalMonitorValue m_signalToNoise
void SetRotorValue(int val) override
void EmitDVBSignals(void)
A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe t...
Definition: mpegtables.h:676
void SetValue(int _value)
QRecursiveMutex m_statusLock
static const uint64_t kSigMon_WaitForSig
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.
static const uint64_t kDVBSigMon_WaitForBER
Wait for the Bit Error Rate to fall below a threshold.
This table contains the GPS time at the time of transmission.
Definition: atsctables.h:688
This table gives the current DVB stream time.
Definition: dvbtables.h:387
unsigned int uint
Definition: freesurround.h:24