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
19class cTsChecker;
20class cFrameChecker;
21
22class cRecorder : public cReceiver, cThread {
23private:
36 off_t fileSize;
40 int errors;
42 bool RunningLowOnDiskSpace(void);
43 bool NextFile(void);
44 void HandleErrors(bool Force = false);
45protected:
46 virtual void Activate(bool On);
51 virtual void Receive(const uchar *Data, int Length);
52 virtual void Action(void);
53public:
54 cRecorder(const char *FileName, const cChannel *Channel, int Priority);
57 virtual ~cRecorder();
58 int Errors(void) { return oldErrors + errors; };
60 };
61
62#endif //__RECORDER_H
int Priority(void)
Definition: receiver.h:57
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
bool NextFile(void)
Definition: recorder.c:277
cFileName * fileName
Definition: recorder.h:30
cIndexFile * index
Definition: recorder.h:32
cTsChecker * tsChecker
Definition: recorder.h:24
int Errors(void)
Definition: recorder.h:58
time_t lastErrorLog
Definition: recorder.h:38
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:296
void HandleErrors(bool Force=false)
Definition: recorder.c:244
off_t fileSize
Definition: recorder.h:36
cRecordingInfo * recordingInfo
Definition: recorder.h:31
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:329
cFrameDetector * frameDetector
Definition: recorder.h:27
time_t lastDiskSpaceCheck
Definition: recorder.h:37
cUnbufferedFile * recordFile
Definition: recorder.h:33
bool firstIframeSeen
Definition: recorder.h:35
cRingBufferLinear * ringBuffer
Definition: recorder.h:26
char * recordingName
Definition: recorder.h:34
int oldErrors
Definition: recorder.h:39
bool RunningLowOnDiskSpace(void)
Definition: recorder.c:264
int errors
Definition: recorder.h:40
virtual ~cRecorder()
Definition: recorder.c:224
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:288
cFrameChecker * frameChecker
Definition: recorder.h:25
cNaluStreamProcessor * naluStreamProcessor
Definition: recorder.h:29
cPatPmtGenerator patPmtGenerator
Definition: recorder.h:28
int lastErrors
Definition: recorder.h:41
Definition: thread.h:79
cUnbufferedFile is used for large files that are mainly written or read in a streaming manner,...
Definition: tools.h:504
unsigned char uchar
Definition: tools.h:31