cLiveSubtitle Class Reference

Inheritance diagram for cLiveSubtitle:

Inheritance graph
[legend]
Collaboration diagram for cLiveSubtitle:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cLiveSubtitle (int SPid)
virtual ~cLiveSubtitle ()

Protected Member Functions

virtual void Activate (bool On)
virtual void Receive (uchar *Data, int Length)
virtual void Action (void)

Private Attributes

cRingBufferLinearringBuffer
cRemuxremux


Detailed Description

Definition at line 26 of file device.c.


Constructor & Destructor Documentation

cLiveSubtitle::cLiveSubtitle ( int  SPid  ) 

Definition at line 39 of file device.c.

References LIVESUBTITLEBUFSIZE, remux, ringBuffer, and TS_SIZE.

cLiveSubtitle::~cLiveSubtitle (  )  [virtual]

Definition at line 49 of file device.c.

References cReceiver::Detach(), remux, and ringBuffer.

Here is the call graph for this function:


Member Function Documentation

void cLiveSubtitle::Activate ( bool  On  )  [protected, virtual]

This function is called just before the cReceiver gets attached to (On == true) or detached from (On == false) a cDevice. It can be used to do things like starting/stopping a thread. It is guaranteed that Receive() will not be called before Activate(true).

Reimplemented from cReceiver.

Definition at line 56 of file device.c.

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

Here is the call graph for this function:

void cLiveSubtitle::Receive ( uchar Data,
int  Length 
) [protected, virtual]

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 64 of file device.c.

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

Here is the call graph for this function:

void cLiveSubtitle::Action ( void   )  [protected, virtual]

A derived cThread class must implement the code it wants to execute as a separate thread in this function. If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 73 of file device.c.

References cRemux::Del(), cRingBufferLinear::Del(), cRemux::Get(), cRingBufferLinear::Get(), cDevice::PlaySubtitle(), cDevice::PrimaryDevice(), cRemux::Put(), remux, ringBuffer, and cThread::Running().

Here is the call graph for this function:


Member Data Documentation

Definition at line 28 of file device.c.

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

Definition at line 29 of file device.c.

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


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

Generated on Tue Nov 4 19:59:20 2008 for VDR by  doxygen 1.5.6