vdr  2.6.1
recorder.h
Go to the documentation of this file.
1 /*
2  * recorder.h: The actual DVB recorder
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * $Id: recorder.h 5.1 2021/05/19 11:22:20 kls Exp $
8  */
9 
10 #ifndef __RECORDER_H
11 #define __RECORDER_H
12 
13 #include "receiver.h"
14 #include "recording.h"
15 #include "remux.h"
16 #include "ringbuffer.h"
17 #include "thread.h"
18 
19 class cTsChecker;
20 class cFrameChecker;
21 
22 class cRecorder : public cReceiver, cThread {
23 private:
35  off_t fileSize;
37  time_t lastErrorLog;
38  int oldErrors;
39  int errors;
41  bool RunningLowOnDiskSpace(void);
42  bool NextFile(void);
43  void HandleErrors(bool Force = false);
44 protected:
45  virtual void Activate(bool On);
50  virtual void Receive(const uchar *Data, int Length);
51  virtual void Action(void);
52 public:
53  cRecorder(const char *FileName, const cChannel *Channel, int Priority);
56  virtual ~cRecorder();
57  int Errors(void) { return oldErrors + errors; };
59  };
60 
61 #endif //__RECORDER_H
cRecorder::tsChecker
cTsChecker * tsChecker
Definition: recorder.h:24
cIndexFile
Definition: recording.h:456
cRecorder::recordingInfo
cRecordingInfo * recordingInfo
Definition: recorder.h:30
cFrameChecker
Definition: recorder.c:84
cRecorder::lastErrors
int lastErrors
Definition: recorder.h:40
cReceiver::Priority
int Priority(void)
Definition: receiver.h:57
recording.h
ringbuffer.h
cReceiver
Definition: receiver.h:17
cRecorder::fileSize
off_t fileSize
Definition: recorder.h:35
cRecorder::errors
int errors
Definition: recorder.h:39
cRecorder::Action
virtual void Action(void)
A derived cThread class must implement the code it wants to execute as a separate thread in this func...
Definition: recorder.c:315
cRecorder::patPmtGenerator
cPatPmtGenerator patPmtGenerator
Definition: recorder.h:28
cRecorder::Receive
virtual void Receive(const uchar *Data, int Length)
This function is called from the cDevice we are attached to, and delivers one TS packet from the set ...
Definition: recorder.c:282
cRecordingInfo
Definition: recording.h:63
cUnbufferedFile
cUnbufferedFile is used for large files that are mainly written or read in a streaming manner,...
Definition: tools.h:504
cRecorder::recordingName
char * recordingName
Definition: recorder.h:33
cRecorder::frameDetector
cFrameDetector * frameDetector
Definition: recorder.h:27
cRecorder::HandleErrors
void HandleErrors(bool Force=false)
Definition: recorder.c:230
cFileName
Definition: recording.h:494
uchar
unsigned char uchar
Definition: tools.h:31
cRecorder::cRecorder
cRecorder(const char *FileName, const cChannel *Channel, int Priority)
Creates a new recorder for the given Channel and the given Priority that will record into the file Fi...
Definition: recorder.c:164
cRecorder::fileName
cFileName * fileName
Definition: recorder.h:29
cRecorder::ringBuffer
cRingBufferLinear * ringBuffer
Definition: recorder.h:26
cRecorder::index
cIndexFile * index
Definition: recorder.h:31
cRecorder::frameChecker
cFrameChecker * frameChecker
Definition: recorder.h:25
cRecorder::~cRecorder
virtual ~cRecorder()
Definition: recorder.c:216
cRecorder::Activate
virtual void Activate(bool On)
If you override Activate() you need to call Detach() (which is a member of the cReceiver class) from ...
Definition: recorder.c:274
cChannel
Definition: channels.h:87
cRecorder::recordFile
cUnbufferedFile * recordFile
Definition: recorder.h:32
cThread
Definition: thread.h:79
cRingBufferLinear
Definition: ringbuffer.h:48
receiver.h
remux.h
cPatPmtGenerator
Definition: remux.h:298
cTsChecker
Definition: recorder.c:35
cRecorder::NextFile
bool NextFile(void)
Definition: recorder.c:263
cRecorder::RunningLowOnDiskSpace
bool RunningLowOnDiskSpace(void)
Definition: recorder.c:250
cRecorder::lastErrorLog
time_t lastErrorLog
Definition: recorder.h:37
cRecorder
Definition: recorder.h:22
cRecorder::Errors
int Errors(void)
Definition: recorder.h:57
cFrameDetector
Definition: remux.h:507
cRecorder::firstIframeSeen
bool firstIframeSeen
Definition: recorder.h:34
thread.h
cRecorder::lastDiskSpaceCheck
time_t lastDiskSpaceCheck
Definition: recorder.h:36
cRecorder::oldErrors
int oldErrors
Definition: recorder.h:38