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
11static constexpr int64_t MAX_BLANK_FRAMES { 180 };
12
13enum CommMapValue : std::uint8_t {
17};
18
19using show_map_t = QMap<uint64_t, CommMapValue>;
20
26class CommDetectorBase : public QObject
27{
28 Q_OBJECT
29
30public:
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
45signals:
46 void statusUpdate(const QString& a) ;
48 void breathe();
49
50protected:
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: */
static constexpr int64_t MAX_BLANK_FRAMES
QMap< uint64_t, CommMapValue > show_map_t
CommMapValue
@ MARK_PRESENT
@ MARK_START
@ MARK_END
Abstract base class for all CommDetectors.
virtual void PrintFullMap(std::ostream &out, const frm_dir_map_t *comm_breaks, bool verbose) const =0
CommDetectorBase()=default
virtual void recordingFinished(long long totalFileSize)
virtual void GetCommercialBreakList(frm_dir_map_t &comms)=0
void statusUpdate(const QString &a)
void gotNewCommercialBreakList()
~CommDetectorBase() override=default
virtual void requestCommBreakMapUpdate(void)
virtual bool go()=0
QMap< uint64_t, MarkTypes > frm_dir_map_t
Frame # -> Mark map.
Definition: programtypes.h:117