vdr  2.2.0
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 3.1 2015/01/15 14:27:02 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 cRecorder : public cReceiver, cThread {
20 private:
29  off_t fileSize;
31  bool RunningLowOnDiskSpace(void);
32  bool NextFile(void);
33 protected:
34  virtual void Activate(bool On);
39  virtual void Receive(uchar *Data, int Length);
40  virtual void Action(void);
41 public:
42  cRecorder(const char *FileName, const cChannel *Channel, int Priority);
45  virtual ~cRecorder();
46  };
47 
48 #endif //__RECORDER_H
unsigned char uchar
Definition: tools.h:30
cFrameDetector * frameDetector
Definition: recorder.h:22
bool RunningLowOnDiskSpace(void)
Definition: recorder.c:91
time_t lastDiskSpaceCheck
Definition: recorder.h:30
cUnbufferedFile is used for large files that are mainly written or read in a streaming manner...
Definition: tools.h:418
int Priority(void)
Definition: receiver.h:52
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:132
cPatPmtGenerator patPmtGenerator
Definition: recorder.h:23
virtual void Receive(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:123
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:24
cIndexFile * index
Definition: recorder.h:26
char * recordingName
Definition: recorder.h:28
virtual ~cRecorder()
Definition: recorder.c:75
cFileName * fileName
Definition: recorder.h:25
Definition: thread.h:77
off_t fileSize
Definition: recorder.h:29
cRingBufferLinear * ringBuffer
Definition: recorder.h:21
cNaluStreamProcessor * naluStreamProcessor
Definition: recorder.h:24
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:115
bool NextFile(void)
Definition: recorder.c:104
cUnbufferedFile * recordFile
Definition: recorder.h:27