MythTV  master
firewirerecorder.h
Go to the documentation of this file.
1 
7 #ifndef FIREWIRERECORDER_H
8 #define FIREWIRERECORDER_H
9 
10 // MythTV headers
11 #include "dtvrecorder.h"
12 #include "mpeg/streamlisteners.h"
13 #include "mpeg/tspacket.h"
14 
15 class TVRec;
16 class FirewireChannel;
17 
25  public DTVRecorder,
26  public TSDataListener
27 {
28  friend class MPEGStreamData;
29  friend class TSPacketProcessor;
30 
31  public:
33  ~FirewireRecorder() override;
34 
35  // Commands
36  bool Open(void);
37  void Close(void);
38 
39  void StartStreaming(void);
40  void StopStreaming(void);
41 
42  void run(void) override; // RecorderBase
43  bool PauseAndWait(std::chrono::milliseconds timeout = 100ms) override; // RecorderBase
44 
45  // Implements TSDataListener
46  void AddData(const unsigned char *data, uint len) override; // TSDataListener
47 
48  bool ProcessTSPacket(const TSPacket &tspacket) override; // DTVRecorder
49 
50  // Sets
52  [[maybe_unused]] const QString &videodev,
53  [[maybe_unused]] const QString &audiodev,
54  [[maybe_unused]] const QString &vbidev) override {}; // DTVRecorder
55 
56  protected:
57  void InitStreamData(void) override; // DTVRecorder
58  explicit FirewireRecorder(TVRec *rec);
59 
60  private:
62  bool m_isopen {false};
63  std::vector<unsigned char> m_buffer;
64 };
65 
66 #endif // FIREWIRERECORDER_H
FirewireRecorder
This is a specialization of DTVRecorder used to handle DVB and ATSC streams from a firewire input.
Definition: firewirerecorder.h:24
hardwareprofile.smolt.timeout
float timeout
Definition: smolt.py:102
dtvrecorder.h
FirewireRecorder::AddData
void AddData(const unsigned char *data, uint len) override
Callback function to add MPEG2 TS data.
Definition: firewirerecorder.cpp:105
FirewireRecorder::Open
bool Open(void)
Definition: firewirerecorder.cpp:31
TSDataListener
Definition: streamlisteners.h:52
streamlisteners.h
FirewireRecorder::m_buffer
std::vector< unsigned char > m_buffer
Definition: firewirerecorder.h:63
FirewireRecorder::StopStreaming
void StopStreaming(void)
Definition: firewirerecorder.cpp:55
FirewireRecorder::PauseAndWait
bool PauseAndWait(std::chrono::milliseconds timeout=100ms) override
If m_requestPause is true, sets pause and blocks up to timeout milliseconds or until unpaused,...
Definition: firewirerecorder.cpp:177
hardwareprofile.scan.profile
profile
Definition: scan.py:97
FirewireRecorder::m_isopen
bool m_isopen
Definition: firewirerecorder.h:62
FirewireChannel
FirewireChannel Copyright (c) 2005 by Jim Westfall and Dave Abrahams Distributed as part of MythTV un...
Definition: firewirechannel.h:14
TSPacket
Used to access the data of a Transport Stream packet.
Definition: tspacket.h:205
MPEGStreamData
Encapsulates data about MPEG stream and emits events for each table.
Definition: mpegstreamdata.h:85
FirewireRecorder::StartStreaming
void StartStreaming(void)
Definition: firewirerecorder.cpp:50
tspacket.h
DTVRecorder
This is a specialization of RecorderBase used to handle MPEG-2, MPEG-4, MPEG-4 AVC,...
Definition: dtvrecorder.h:25
FirewireRecorder::m_channel
FirewireChannel * m_channel
Definition: firewirerecorder.h:61
uint
unsigned int uint
Definition: compat.h:81
FirewireRecorder::SetOptionsFromProfile
void SetOptionsFromProfile([[maybe_unused]] RecordingProfile *profile, [[maybe_unused]] const QString &videodev, [[maybe_unused]] const QString &audiodev, [[maybe_unused]] const QString &vbidev) override
Definition: firewirerecorder.h:51
FirewireRecorder::ProcessTSPacket
bool ProcessTSPacket(const TSPacket &tspacket) override
Definition: firewirerecorder.cpp:145
FirewireRecorder::FirewireRecorder
FirewireRecorder(TVRec *rec, FirewireChannel *chan)
Definition: firewirerecorder.cpp:20
TVRec
This is the coordinating class of the Recorder Subsystem.
Definition: tv_rec.h:142
FirewireRecorder::InitStreamData
void InitStreamData(void) override
Definition: firewirerecorder.cpp:207
FirewireRecorder::Close
void Close(void)
Definition: firewirerecorder.cpp:41
FirewireRecorder::run
void run(void) override
run() starts the recording process, and does not exit until the recording is complete.
Definition: firewirerecorder.cpp:60
RecordingProfile
Definition: recordingprofile.h:41
FirewireRecorder::~FirewireRecorder
~FirewireRecorder() override
Definition: firewirerecorder.cpp:26
FirewireRecorder::TSPacketProcessor
friend class TSPacketProcessor
Definition: firewirerecorder.h:29