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 "tspacket.h"
13 #include "streamlisteners.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(int timeout = 100) 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  const QString &videodev,
53  const QString &audiodev,
54  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  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:103
dtvrecorder.h
FirewireRecorder::AddData
void AddData(const unsigned char *data, uint len) override
Callback function to add MPEG2 TS data.
Definition: firewirerecorder.cpp:104
FirewireRecorder::Open
bool Open(void)
Definition: firewirerecorder.cpp:30
FirewireRecorder::PauseAndWait
bool PauseAndWait(int timeout=100) override
If m_requestPause is true, sets pause and blocks up to timeout milliseconds or until unpaused,...
Definition: firewirerecorder.cpp:187
TSDataListener
Definition: streamlisteners.h:52
streamlisteners.h
FirewireRecorder::StopStreaming
void StopStreaming(void)
Definition: firewirerecorder.cpp:54
FirewireRecorder::m_buffer
vector< unsigned char > m_buffer
Definition: firewirerecorder.h:63
hardwareprofile.scan.profile
profile
Definition: scan.py:99
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:166
MPEGStreamData
Encapsulates data about MPEG stream and emits events for each table.
Definition: mpegstreamdata.h:85
FirewireRecorder::StartStreaming
void StartStreaming(void)
Definition: firewirerecorder.cpp:49
tspacket.h
DTVRecorder
This is a specialization of RecorderBase used to handle MPEG-2, MPEG-4, MPEG-4 AVC,...
Definition: dtvrecorder.h:27
FirewireRecorder::m_channel
FirewireChannel * m_channel
Definition: firewirerecorder.h:61
uint
unsigned int uint
Definition: compat.h:140
FirewireRecorder::ProcessTSPacket
bool ProcessTSPacket(const TSPacket &tspacket) override
Definition: firewirerecorder.cpp:144
FirewireRecorder::FirewireRecorder
FirewireRecorder(TVRec *rec, FirewireChannel *chan)
Definition: firewirerecorder.cpp:19
TVRec
This is the coordinating class of the Recorder Subsystem.
Definition: tv_rec.h:142
FirewireRecorder::InitStreamData
void InitStreamData(void) override
Definition: firewirerecorder.cpp:217
FirewireRecorder::Close
void Close(void)
Definition: firewirerecorder.cpp:40
FirewireRecorder::run
void run(void) override
run() starts the recording process, and does not exit until the recording is complete.
Definition: firewirerecorder.cpp:59
RecordingProfile
Definition: recordingprofile.h:39
FirewireRecorder::~FirewireRecorder
~FirewireRecorder() override
Definition: firewirerecorder.cpp:25
FirewireRecorder::TSPacketProcessor
friend class TSPacketProcessor
Definition: firewirerecorder.h:29
FirewireRecorder::SetOptionsFromProfile
void SetOptionsFromProfile(RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev) override
Sets basic recorder options.
Definition: firewirerecorder.cpp:175