MythTV  master
CommDetectorBase.h
Go to the documentation of this file.
1 #ifndef COMMDETECTOR_BASE_H
2 #define COMMDETECTOR_BASE_H
3 
4 #include <iostream>
5 
6 #include <QObject>
7 #include <QMap>
8 
10 
11 static constexpr int64_t MAX_BLANK_FRAMES { 180 };
12 
13 enum CommMapValue : std::uint8_t {
15  MARK_END = 1,
17 };
18 
19 using show_map_t = QMap<uint64_t, CommMapValue>;
20 
26 class CommDetectorBase : public QObject
27 {
28  Q_OBJECT
29 
30 public:
31  CommDetectorBase() = default;
32 
33  virtual bool go() = 0;
34  void stop();
35  void pause();
36  void resume();
37 
38  virtual void GetCommercialBreakList(frm_dir_map_t &comms) = 0;
39  virtual void recordingFinished([[maybe_unused]] long long totalFileSize) {};
40  virtual void requestCommBreakMapUpdate(void) {};
41 
42  virtual void PrintFullMap(
43  std::ostream &out, const frm_dir_map_t *comm_breaks, bool verbose) const = 0;
44 
45 signals:
46  void statusUpdate(const QString& a) ;
48  void breathe();
49 
50 protected:
51  ~CommDetectorBase() override = default;
52  bool m_bPaused { false };
53  bool m_bStop { false };
54 };
55 
56 #endif // COMMDETECTOR_BASE_H
57 
58 /* vim: set expandtab tabstop=4 shiftwidth=4: */
CommDetectorBase::CommDetectorBase
CommDetectorBase()=default
CommDetectorBase
Abstract base class for all CommDetectors. Please use the CommDetectFactory to make actual instances.
Definition: CommDetectorBase.h:26
show_map_t
QMap< uint64_t, CommMapValue > show_map_t
Definition: CommDetectorBase.h:19
CommDetectorBase::m_bPaused
bool m_bPaused
Definition: CommDetectorBase.h:52
CommDetectorBase::breathe
void breathe()
MARK_START
@ MARK_START
Definition: CommDetectorBase.h:14
CommDetectorBase::gotNewCommercialBreakList
void gotNewCommercialBreakList()
CommDetectorBase::statusUpdate
void statusUpdate(const QString &a)
frm_dir_map_t
QMap< uint64_t, MarkTypes > frm_dir_map_t
Frame # -> Mark map.
Definition: programtypes.h:117
CommDetectorBase::go
virtual bool go()=0
MARK_PRESENT
@ MARK_PRESENT
Definition: CommDetectorBase.h:16
MARK_END
@ MARK_END
Definition: CommDetectorBase.h:15
programtypes.h
CommDetectorBase::recordingFinished
virtual void recordingFinished([[maybe_unused]] long long totalFileSize)
Definition: CommDetectorBase.h:39
CommDetectorBase::PrintFullMap
virtual void PrintFullMap(std::ostream &out, const frm_dir_map_t *comm_breaks, bool verbose) const =0
CommDetectorBase::GetCommercialBreakList
virtual void GetCommercialBreakList(frm_dir_map_t &comms)=0
CommDetectorBase::m_bStop
bool m_bStop
Definition: CommDetectorBase.h:53
CommDetectorBase::resume
void resume()
Definition: CommDetectorBase.cpp:13
CommDetectorBase::stop
void stop()
Definition: CommDetectorBase.cpp:3
CommDetectorBase::~CommDetectorBase
~CommDetectorBase() override=default
hardwareprofile.distros.mythtv_data.makeopts.verbose
verbose
Definition: makeopts.py:60
MAX_BLANK_FRAMES
static constexpr int64_t MAX_BLANK_FRAMES
Definition: CommDetectorBase.h:11
CommDetectorBase::requestCommBreakMapUpdate
virtual void requestCommBreakMapUpdate(void)
Definition: CommDetectorBase.h:40
CommDetectorBase::pause
void pause()
Definition: CommDetectorBase.cpp:8
CommMapValue
CommMapValue
Definition: CommDetectorBase.h:13