vdr  2.2.0
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
cRecorder Class Reference

#include <recorder.h>

Public Member Functions

 cRecorder (const char *FileName, const cChannel *Channel, int Priority)
 
virtual ~cRecorder ()
 
- Public Member Functions inherited from cReceiver
 cReceiver (const cChannel *Channel=NULL, int Priority=MINPRIORITY)
 
virtual ~cReceiver ()
 
int Priority (void)
 
void SetPriority (int Priority)
 
bool AddPid (int Pid)
 
bool AddPids (const int *Pids)
 
bool AddPids (int Pid1, int Pid2, int Pid3=0, int Pid4=0, int Pid5=0, int Pid6=0, int Pid7=0, int Pid8=0, int Pid9=0)
 
bool SetPids (const cChannel *Channel)
 
void DelPid (int Pid)
 
void DelPids (const int *Pids)
 
tChannelID ChannelID (void)
 
int NumPids (void) const
 
bool IsAttached (void)
 

Protected Member Functions

virtual void Activate (bool On)
 
virtual void Receive (uchar *Data, int Length)
 
virtual void Action (void)
 
- Protected Member Functions inherited from cReceiver
cDeviceDevice (void)
 
void Detach (void)
 

Private Member Functions

bool RunningLowOnDiskSpace (void)
 
bool NextFile (void)
 
- Private Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
virtual ~cThread ()
 
void SetDescription (const char *Description,...) __attribute__((format(printf
 
void bool Start (void)
 
bool Active (void)
 
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
bool Running (void)
 
void Cancel (int WaitSeconds=0)
 

Private Attributes

cRingBufferLinearringBuffer
 
cFrameDetectorframeDetector
 
cPatPmtGenerator patPmtGenerator
 
cNaluStreamProcessornaluStreamProcessor
 
cFileNamefileName
 
cIndexFileindex
 
cUnbufferedFilerecordFile
 
char * recordingName
 
off_t fileSize
 
time_t lastDiskSpaceCheck
 

Additional Inherited Members

- Static Private Member Functions inherited from cThread
static tThreadId ThreadId (void)
 
static tThreadId IsMainThread (void)
 
static void SetMainThreadId (void)
 

Detailed Description

Definition at line 19 of file recorder.h.

Constructor & Destructor Documentation

cRecorder::cRecorder ( const char *  FileName,
const cChannel Channel,
int  Priority 
)
cRecorder::~cRecorder ( )
virtual

Member Function Documentation

void cRecorder::Action ( void  )
protectedvirtual
void cRecorder::Activate ( bool  On)
protectedvirtual

If you override Activate() you need to call Detach() (which is a member of the cReceiver class) from your own destructor in order to properly get a call to Activate(false) when your object is destroyed.

Reimplemented from cReceiver.

Definition at line 115 of file recorder.c.

References cThread::Cancel(), and cThread::Start().

bool cRecorder::NextFile ( void  )
private
void cRecorder::Receive ( uchar Data,
int  Length 
)
protectedvirtual

This function is called from the cDevice we are attached to, and delivers one TS packet from the set of PIDs the cReceiver has requested.

The data packet must be accepted immediately, and the call must return as soon as possible, without any unnecessary delay. Each TS packet will be delivered only ONCE, so the cReceiver must make sure that it will be able to buffer the data if necessary.

Implements cReceiver.

Definition at line 123 of file recorder.c.

References cRingBufferLinear::Put(), cRingBuffer::ReportOverflow(), ringBuffer, and cThread::Running().

bool cRecorder::RunningLowOnDiskSpace ( void  )
private

Member Data Documentation

cFileName* cRecorder::fileName
private

Definition at line 25 of file recorder.h.

Referenced by Action(), cRecorder(), NextFile(), RunningLowOnDiskSpace(), and ~cRecorder().

off_t cRecorder::fileSize
private

Definition at line 29 of file recorder.h.

Referenced by Action(), cRecorder(), and NextFile().

cFrameDetector* cRecorder::frameDetector
private

Definition at line 22 of file recorder.h.

Referenced by Action(), cRecorder(), NextFile(), and ~cRecorder().

cIndexFile* cRecorder::index
private

Definition at line 26 of file recorder.h.

Referenced by Action(), cRecorder(), and ~cRecorder().

time_t cRecorder::lastDiskSpaceCheck
private

Definition at line 30 of file recorder.h.

Referenced by cRecorder(), and RunningLowOnDiskSpace().

cNaluStreamProcessor* cRecorder::naluStreamProcessor
private

Definition at line 24 of file recorder.h.

Referenced by Action(), cRecorder(), and ~cRecorder().

cPatPmtGenerator cRecorder::patPmtGenerator
private

Definition at line 23 of file recorder.h.

Referenced by Action(), and cRecorder().

cUnbufferedFile* cRecorder::recordFile
private

Definition at line 27 of file recorder.h.

Referenced by Action(), cRecorder(), and NextFile().

char* cRecorder::recordingName
private

Definition at line 28 of file recorder.h.

Referenced by Action(), cRecorder(), and ~cRecorder().

cRingBufferLinear* cRecorder::ringBuffer
private

Definition at line 21 of file recorder.h.

Referenced by Action(), cRecorder(), Receive(), and ~cRecorder().


The documentation for this class was generated from the following files: