MythTV master
v4l2encsignalmonitor.h
Go to the documentation of this file.
1// -*- Mode: c++ -*-
2
3#ifndef V4L2encSignalMonitor_H
4#define V4L2encSignalMonitor_H
5
6#include <QMap>
7
8#include "dtvsignalmonitor.h"
9#include "v4lchannel.h"
10#include "v4l2util.h"
11
13
14using FilterMap = QMap<uint,int>;
15
17{
18 public:
19 V4L2encSignalMonitor(int db_cardnum, V4LChannel *_channel,
20 bool _release_stream, uint64_t _flags = 0);
21 ~V4L2encSignalMonitor() override;
22
23 void Stop(void) override; // SignalMonitor
24
25 protected:
28
29 void UpdateValues(void) override; // SignalMonitor
31 { return dynamic_cast<V4LChannel*>(m_channel); }
32
33 bool HasLock(void);
34 int StableResolution(void);
35
36 protected:
39 bool m_isTS {false};
40
41 private:
42 int m_strength {0};
43 std::chrono::milliseconds m_stableTime {1500ms};
44 int m_width {0};
45 int m_height {0};
48 QDateTime m_statusTime;
49};
50
51#endif // V4L2encSIGNALMONITOR_H
QMap< uint, int > FilterMap
This class is intended to detect the presence of needed tables.
A QElapsedTimer based timer to replace use of QTime as a timer.
Definition: mythtimer.h:14
ChannelBase * m_channel
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
~V4L2encSignalMonitor() override
Stops signal monitoring and table monitoring threads.
std::chrono::milliseconds m_stableTime
V4L2encSignalMonitor(const V4L2encSignalMonitor &)
int StableResolution(void)
Wait for a stable signal.
V4LChannel * GetV4L2encChannel(void)
void Stop(void) override
Stop signal monitoring and table monitoring threads.
V4L2encStreamHandler * m_streamHandler
Implements tuning for TV cards using the V4L driver API, both versions 1 and 2.
Definition: v4lchannel.h:32
unsigned int uint
Definition: compat.h:68