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

Public Member Functions

 cCaPidReceiver (void)
 
virtual ~cCaPidReceiver ()
 
virtual void Receive (uchar *Data, int Length)
 
bool HasCaPids (void)
 
void Reset (void)
 
- 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)
 
- Protected Member Functions inherited from cReceiver
cDeviceDevice (void)
 
void Detach (void)
 

Private Member Functions

void AddEmmPid (int Pid)
 
void DelEmmPids (void)
 

Private Attributes

int catVersion
 
cVector< int > emmPids
 
uchar buffer [2048]
 
ucharbufp
 
int length
 

Detailed Description

Definition at line 114 of file ci.c.

Constructor & Destructor Documentation

cCaPidReceiver::cCaPidReceiver ( void  )

Definition at line 133 of file ci.c.

References cReceiver::AddPid(), bufp, CATPID, catVersion, and length.

virtual cCaPidReceiver::~cCaPidReceiver ( )
inlinevirtual

Definition at line 127 of file ci.c.

References cReceiver::Detach(), and Receive().

Member Function Documentation

void cCaPidReceiver::Activate ( bool  On)
protectedvirtual

This function is called just before the cReceiver gets attached to (On == true) and right after it gets 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 158 of file ci.c.

References catVersion.

void cCaPidReceiver::AddEmmPid ( int  Pid)
private

Definition at line 141 of file ci.c.

References cReceiver::AddPid(), cVector< T >::Append(), emmPids, and cVector< T >::Size().

Referenced by Receive().

void cCaPidReceiver::DelEmmPids ( void  )
private

Definition at line 151 of file ci.c.

References cVector< T >::Clear(), cReceiver::DelPid(), emmPids, and cVector< T >::Size().

Referenced by Receive(), and Reset().

bool cCaPidReceiver::HasCaPids ( void  )
inline

Definition at line 129 of file ci.c.

References cReceiver::NumPids(), and cVector< T >::Size().

void cCaPidReceiver::Receive ( uchar Data,
int  Length 
)
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 163 of file ci.c.

References AddEmmPid(), cDevice::AttachReceiver(), buffer, bufp, CATPID, catVersion, DelEmmPids(), cDevice::Detach(), cReceiver::Device(), dsyslog, esyslog, length, min(), SI::TableIdCAT, TS_SIZE, TsPayloadStart(), and TsPid().

Referenced by ~cCaPidReceiver().

void cCaPidReceiver::Reset ( void  )
inline

Definition at line 130 of file ci.c.

References DelEmmPids().

Member Data Documentation

uchar cCaPidReceiver::buffer[2048]
private

Definition at line 118 of file ci.c.

Referenced by Receive().

uchar* cCaPidReceiver::bufp
private

Definition at line 119 of file ci.c.

Referenced by cCaPidReceiver(), and Receive().

int cCaPidReceiver::catVersion
private

Definition at line 116 of file ci.c.

Referenced by Activate(), cCaPidReceiver(), and Receive().

cVector<int> cCaPidReceiver::emmPids
private

Definition at line 117 of file ci.c.

Referenced by AddEmmPid(), and DelEmmPids().

int cCaPidReceiver::length
private

Definition at line 120 of file ci.c.

Referenced by cCaPidReceiver(), and Receive().


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