vdr
1.7.27
|
#include <receiver.h>
Public Member Functions | |
cReceiver (tChannelID ChannelID, int Priority, int Pid, const int *Pids1=NULL, const int *Pids2=NULL, const int *Pids3=NULL) | |
cReceiver (const cChannel *Channel=NULL, int Priority=MINPRIORITY) | |
virtual | ~cReceiver () |
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) |
tChannelID | ChannelID (void) |
bool | IsAttached (void) |
cReceiver (tChannelID ChannelID, int Priority, int Pid, const int *Pids1=NULL, const int *Pids2=NULL, const int *Pids3=NULL) | |
cReceiver (const cChannel *Channel=NULL, int Priority=MINPRIORITY) | |
virtual | ~cReceiver () |
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) |
tChannelID | ChannelID (void) |
bool | IsAttached (void) |
Protected Member Functions | |
void | Detach (void) |
virtual void | Activate (bool On) |
virtual void | Receive (uchar *Data, int Length)=0 |
void | Detach (void) |
virtual void | Activate (bool On) |
virtual void | Receive (uchar *Data, int Length)=0 |
Private Member Functions | |
bool | WantsPid (int Pid) |
bool | WantsPid (int Pid) |
Private Attributes | |
cDevice * | device |
tChannelID | channelID |
int | priority |
int | pids [MAXRECEIVEPIDS] |
int | numPids |
Friends | |
class | cDevice |
Definition at line 19 of file include/vdr/receiver.h.
cReceiver::cReceiver | ( | tChannelID | ChannelID, |
int | Priority, | ||
int | Pid, | ||
const int * | Pids1 = NULL , |
||
const int * | Pids2 = NULL , |
||
const int * | Pids3 = NULL |
||
) |
Definition at line 15 of file receiver.c.
References AddPid(), AddPids(), channelID, ChannelID(), constrain(), device, MAXPRIORITY, MINPRIORITY, numPids, and priority.
cReceiver::cReceiver | ( | const cChannel * | Channel = NULL , |
int | Priority = MINPRIORITY |
||
) |
Creates a new receiver for the given Channel with the given Priority.
If Channel is not NULL, its pids are set by a call to SetPids(). Otherwise pids can be added to the receiver by separate calls to the AddPid[s] functions. The total number of PIDs added to a receiver must not exceed MAXRECEIVEPIDS. Priority may be any value in the range MINPRIORITY...MAXPRIORITY. Negative values indicate that this cReceiver may be detached at any time in favor of a timer recording or live viewing (without blocking the cDevice it is attached to).
Definition at line 28 of file receiver.c.
References constrain(), device, MAXPRIORITY, MINPRIORITY, numPids, priority, and SetPids().
cReceiver::~cReceiver | ( | ) | [virtual] |
Definition at line 36 of file receiver.c.
cReceiver::cReceiver | ( | tChannelID | ChannelID, |
int | Priority, | ||
int | Pid, | ||
const int * | Pids1 = NULL , |
||
const int * | Pids2 = NULL , |
||
const int * | Pids3 = NULL |
||
) |
cReceiver::cReceiver | ( | const cChannel * | Channel = NULL , |
int | Priority = MINPRIORITY |
||
) |
Creates a new receiver for the given Channel with the given Priority.
If Channel is not NULL, its pids are set by a call to SetPids(). Otherwise pids can be added to the receiver by separate calls to the AddPid[s] functions. The total number of PIDs added to a receiver must not exceed MAXRECEIVEPIDS. Priority may be any value in the range MINPRIORITY...MAXPRIORITY. Negative values indicate that this cReceiver may be detached at any time in favor of a timer recording or live viewing (without blocking the cDevice it is attached to).
virtual cReceiver::~cReceiver | ( | ) | [virtual] |
virtual void cReceiver::Activate | ( | bool | On | ) | [inline, 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 in cRecorder, cRecorder, cTransfer, and cTransfer.
Definition at line 30 of file include/vdr/receiver.h.
Referenced by cDevice::AttachReceiver(), and cDevice::Detach().
virtual void cReceiver::Activate | ( | bool | On | ) | [inline, 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 in cRecorder, cRecorder, cTransfer, and cTransfer.
Definition at line 30 of file receiver.h.
bool cReceiver::AddPid | ( | int | Pid | ) |
Adds the given Pid to the list of PIDs of this receiver.
Definition at line 46 of file receiver.c.
References dsyslog, MAXRECEIVEPIDS, numPids, and pids.
Referenced by AddPids(), cLiveSubtitle::cLiveSubtitle(), cReceiver(), and SetPids().
bool cReceiver::AddPid | ( | int | Pid | ) |
Adds the given Pid to the list of PIDs of this receiver.
bool cReceiver::AddPids | ( | const int * | Pids | ) |
Adds the given zero terminated list of Pids to the list of PIDs of this receiver.
bool cReceiver::AddPids | ( | const int * | Pids | ) |
Adds the given zero terminated list of Pids to the list of PIDs of this receiver.
Definition at line 59 of file receiver.c.
References AddPid().
Referenced by cReceiver(), and SetPids().
bool cReceiver::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 |
||
) |
Adds the given Pids to the list of PIDs of this receiver.
bool cReceiver::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 |
||
) |
Adds the given Pids to the list of PIDs of this receiver.
Definition at line 70 of file receiver.c.
References AddPid().
tChannelID cReceiver::ChannelID | ( | void | ) | [inline] |
Definition at line 72 of file include/vdr/receiver.h.
References channelID.
Referenced by cReceiver().
tChannelID cReceiver::ChannelID | ( | void | ) | [inline] |
Definition at line 72 of file receiver.h.
References channelID.
void cReceiver::Detach | ( | void | ) | [protected] |
void cReceiver::Detach | ( | void | ) | [protected] |
Definition at line 101 of file receiver.c.
References cDevice::Detach(), and device.
Referenced by cLiveSubtitle::~cLiveSubtitle(), and cRecorder::~cRecorder().
bool cReceiver::IsAttached | ( | void | ) | [inline] |
Returns true if this receiver is (still) attached to a device.
A receiver may be automatically detached from its device in case the device is needed otherwise, so code that uses a cReceiver should repeatedly check whether it is still attached, and if it isn't, delete it (or take any other appropriate measures).
Definition at line 73 of file include/vdr/receiver.h.
References device.
Referenced by cRecordControl::Process().
bool cReceiver::IsAttached | ( | void | ) | [inline] |
Returns true if this receiver is (still) attached to a device.
A receiver may be automatically detached from its device in case the device is needed otherwise, so code that uses a cReceiver should repeatedly check whether it is still attached, and if it isn't, delete it (or take any other appropriate measures).
Definition at line 73 of file receiver.h.
References device.
virtual void cReceiver::Receive | ( | uchar * | Data, |
int | Length | ||
) | [protected, pure 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.
Implemented in cRecorder, cRecorder, cLiveSubtitle, cTransfer, and cTransfer.
Referenced by cDevice::Action().
virtual void cReceiver::Receive | ( | uchar * | Data, |
int | Length | ||
) | [protected, pure 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.
Implemented in cRecorder, cRecorder, cLiveSubtitle, cTransfer, and cTransfer.
bool cReceiver::SetPids | ( | const cChannel * | Channel | ) |
Sets the PIDs of this receiver to those of the given Channel, replacing and previously stored PIDs.
If Channel is NULL, all PIDs will be cleared. Parameters in the Setup may control whether certain types of PIDs (like Dolby Digital, for instance) are actually set. The Channel's ID is stored and can later be retrieved through ChannelID(). The ChannelID is necessary to allow the device that will be used for this receiver to detect and store whether the channel can be decrypted in case this is an encrypted channel.
bool cReceiver::SetPids | ( | const cChannel * | Channel | ) |
Sets the PIDs of this receiver to those of the given Channel, replacing and previously stored PIDs.
If Channel is NULL, all PIDs will be cleared. Parameters in the Setup may control whether certain types of PIDs (like Dolby Digital, for instance) are actually set. The Channel's ID is stored and can later be retrieved through ChannelID(). The ChannelID is necessary to allow the device that will be used for this receiver to detect and store whether the channel can be decrypted in case this is an encrypted channel.
Definition at line 75 of file receiver.c.
References AddPid(), AddPids(), cChannel::Apids(), channelID, cChannel::Dpids(), cChannel::GetChannelID(), numPids, cChannel::Ppid(), Setup, cChannel::Spids(), cSetup::SupportTeletext, cChannel::Tpid(), and cChannel::Vpid().
Referenced by cReceiver().
bool cReceiver::WantsPid | ( | int | Pid | ) | [private] |
bool cReceiver::WantsPid | ( | int | Pid | ) | [private] |
Definition at line 90 of file receiver.c.
Referenced by cDevice::DetachAll().
cDevice [friend] |
Definition at line 20 of file include/vdr/receiver.h.
tChannelID cReceiver::channelID [private] |
Definition at line 23 of file include/vdr/receiver.h.
Referenced by ChannelID(), cReceiver(), and SetPids().
cDevice * cReceiver::device [private] |
Definition at line 22 of file include/vdr/receiver.h.
Referenced by cDevice::AttachReceiver(), cReceiver(), Detach(), cDevice::Detach(), IsAttached(), and ~cReceiver().
int cReceiver::numPids [private] |
Definition at line 26 of file include/vdr/receiver.h.
Referenced by AddPid(), cDevice::AttachReceiver(), cReceiver(), cDevice::Detach(), SetPids(), and WantsPid().
int cReceiver::pids [private] |
Definition at line 25 of file include/vdr/receiver.h.
Referenced by AddPid(), cDevice::AttachReceiver(), cDevice::Detach(), and WantsPid().
int cReceiver::priority [private] |
Definition at line 24 of file include/vdr/receiver.h.
Referenced by cReceiver().