vdr
1.7.27
|
#include <device.h>
Classes | |
class | cPidHandle |
Public Member Functions | |
bool | IsPrimaryDevice (void) const |
int | CardIndex (void) const |
int | DeviceNumber (void) const |
virtual cString | DeviceName (void) const |
virtual bool | HasDecoder (void) const |
virtual bool | AvoidRecording (void) const |
virtual cSpuDecoder * | GetSpuDecoder (void) |
virtual bool | ProvidesSource (int Source) const |
virtual bool | ProvidesTransponder (const cChannel *Channel) const |
virtual bool | ProvidesTransponderExclusively (const cChannel *Channel) const |
virtual bool | ProvidesChannel (const cChannel *Channel, int Priority=IDLEPRIORITY, bool *NeedsDetachReceivers=NULL) const |
virtual bool | ProvidesEIT (void) const |
virtual int | NumProvidedSystems (void) const |
virtual int | SignalStrength (void) const |
virtual int | SignalQuality (void) const |
virtual const cChannel * | GetCurrentlyTunedTransponder (void) const |
virtual bool | IsTunedToTransponder (const cChannel *Channel) const |
virtual bool | MaySwitchTransponder (const cChannel *Channel) const |
bool | SwitchChannel (const cChannel *Channel, bool LiveView) |
void | ForceTransferMode (void) |
int | Occupied (void) const |
void | SetOccupied (int Seconds) |
virtual bool | HasLock (int TimeoutMs=0) |
virtual bool | HasProgramme (void) |
void | DelLivePids (void) |
virtual int | OpenFilter (u_short Pid, u_char Tid, u_char Mask) |
virtual void | CloseFilter (int Handle) |
void | AttachFilter (cFilter *Filter) |
void | Detach (cFilter *Filter) |
virtual bool | HasCi (void) |
void | SetCamSlot (cCamSlot *CamSlot) |
cCamSlot * | CamSlot (void) const |
virtual uchar * | GrabImage (int &Size, bool Jpeg=true, int Quality=-1, int SizeX=-1, int SizeY=-1) |
bool | GrabImageFile (const char *FileName, bool Jpeg=true, int Quality=-1, int SizeX=-1, int SizeY=-1) |
virtual void | SetVideoDisplayFormat (eVideoDisplayFormat VideoDisplayFormat) |
virtual void | SetVideoFormat (bool VideoFormat16_9) |
virtual eVideoSystem | GetVideoSystem (void) |
virtual void | GetVideoSize (int &Width, int &Height, double &VideoAspect) |
virtual void | GetOsdSize (int &Width, int &Height, double &PixelAspect) |
void | ClrAvailableTracks (bool DescriptionsOnly=false, bool IdsOnly=false) |
bool | SetAvailableTrack (eTrackType Type, int Index, uint16_t Id, const char *Language=NULL, const char *Description=NULL) |
const tTrackId * | GetTrack (eTrackType Type) |
int | NumTracks (eTrackType FirstTrack, eTrackType LastTrack) const |
int | NumAudioTracks (void) const |
int | NumSubtitleTracks (void) const |
eTrackType | GetCurrentAudioTrack (void) const |
bool | SetCurrentAudioTrack (eTrackType Type) |
eTrackType | GetCurrentSubtitleTrack (void) const |
bool | SetCurrentSubtitleTrack (eTrackType Type, bool Manual=false) |
void | EnsureAudioTrack (bool Force=false) |
void | EnsureSubtitleTrack (void) |
bool | IsMute (void) const |
bool | ToggleMute (void) |
int | GetAudioChannel (void) |
void | SetAudioChannel (int AudioChannel) |
void | SetVolume (int Volume, bool Absolute=false) |
virtual int64_t | GetSTC (void) |
virtual bool | IsPlayingVideo (void) const |
virtual bool | HasIBPTrickSpeed (void) |
virtual void | TrickSpeed (int Speed) |
virtual void | Clear (void) |
virtual void | Play (void) |
virtual void | Freeze (void) |
virtual void | Mute (void) |
virtual void | StillPicture (const uchar *Data, int Length) |
virtual bool | Poll (cPoller &Poller, int TimeoutMs=0) |
virtual bool | Flush (int TimeoutMs=0) |
virtual int | PlayPes (const uchar *Data, int Length, bool VideoOnly=false) |
virtual int | PlayTs (const uchar *Data, int Length, bool VideoOnly=false) |
bool | Replaying (void) const |
bool | Transferring (void) const |
void | StopReplay (void) |
bool | AttachPlayer (cPlayer *Player) |
void | Detach (cPlayer *Player) |
int | Priority (void) const |
bool | Receiving (bool Dummy=false) const |
bool | AttachReceiver (cReceiver *Receiver) |
void | Detach (cReceiver *Receiver) |
void | DetachAll (int Pid) |
virtual void | DetachAllReceivers (void) |
bool | IsPrimaryDevice (void) const |
int | CardIndex (void) const |
int | DeviceNumber (void) const |
virtual cString | DeviceName (void) const |
virtual bool | HasDecoder (void) const |
virtual bool | AvoidRecording (void) const |
virtual cSpuDecoder * | GetSpuDecoder (void) |
virtual bool | ProvidesSource (int Source) const |
virtual bool | ProvidesTransponder (const cChannel *Channel) const |
virtual bool | ProvidesTransponderExclusively (const cChannel *Channel) const |
virtual bool | ProvidesChannel (const cChannel *Channel, int Priority=IDLEPRIORITY, bool *NeedsDetachReceivers=NULL) const |
virtual bool | ProvidesEIT (void) const |
virtual int | NumProvidedSystems (void) const |
virtual int | SignalStrength (void) const |
virtual int | SignalQuality (void) const |
virtual const cChannel * | GetCurrentlyTunedTransponder (void) const |
virtual bool | IsTunedToTransponder (const cChannel *Channel) const |
virtual bool | MaySwitchTransponder (const cChannel *Channel) const |
bool | SwitchChannel (const cChannel *Channel, bool LiveView) |
void | ForceTransferMode (void) |
int | Occupied (void) const |
void | SetOccupied (int Seconds) |
virtual bool | HasLock (int TimeoutMs=0) |
virtual bool | HasProgramme (void) |
void | DelLivePids (void) |
virtual int | OpenFilter (u_short Pid, u_char Tid, u_char Mask) |
virtual void | CloseFilter (int Handle) |
void | AttachFilter (cFilter *Filter) |
void | Detach (cFilter *Filter) |
virtual bool | HasCi (void) |
void | SetCamSlot (cCamSlot *CamSlot) |
cCamSlot * | CamSlot (void) const |
virtual uchar * | GrabImage (int &Size, bool Jpeg=true, int Quality=-1, int SizeX=-1, int SizeY=-1) |
bool | GrabImageFile (const char *FileName, bool Jpeg=true, int Quality=-1, int SizeX=-1, int SizeY=-1) |
virtual void | SetVideoDisplayFormat (eVideoDisplayFormat VideoDisplayFormat) |
virtual void | SetVideoFormat (bool VideoFormat16_9) |
virtual eVideoSystem | GetVideoSystem (void) |
virtual void | GetVideoSize (int &Width, int &Height, double &VideoAspect) |
virtual void | GetOsdSize (int &Width, int &Height, double &PixelAspect) |
void | ClrAvailableTracks (bool DescriptionsOnly=false, bool IdsOnly=false) |
bool | SetAvailableTrack (eTrackType Type, int Index, uint16_t Id, const char *Language=NULL, const char *Description=NULL) |
const tTrackId * | GetTrack (eTrackType Type) |
int | NumTracks (eTrackType FirstTrack, eTrackType LastTrack) const |
int | NumAudioTracks (void) const |
int | NumSubtitleTracks (void) const |
eTrackType | GetCurrentAudioTrack (void) const |
bool | SetCurrentAudioTrack (eTrackType Type) |
eTrackType | GetCurrentSubtitleTrack (void) const |
bool | SetCurrentSubtitleTrack (eTrackType Type, bool Manual=false) |
void | EnsureAudioTrack (bool Force=false) |
void | EnsureSubtitleTrack (void) |
bool | IsMute (void) const |
bool | ToggleMute (void) |
int | GetAudioChannel (void) |
void | SetAudioChannel (int AudioChannel) |
void | SetVolume (int Volume, bool Absolute=false) |
virtual int64_t | GetSTC (void) |
virtual bool | IsPlayingVideo (void) const |
virtual bool | HasIBPTrickSpeed (void) |
virtual void | TrickSpeed (int Speed) |
virtual void | Clear (void) |
virtual void | Play (void) |
virtual void | Freeze (void) |
virtual void | Mute (void) |
virtual void | StillPicture (const uchar *Data, int Length) |
virtual bool | Poll (cPoller &Poller, int TimeoutMs=0) |
virtual bool | Flush (int TimeoutMs=0) |
virtual int | PlayPes (const uchar *Data, int Length, bool VideoOnly=false) |
virtual int | PlayTs (const uchar *Data, int Length, bool VideoOnly=false) |
bool | Replaying (void) const |
bool | Transferring (void) const |
void | StopReplay (void) |
bool | AttachPlayer (cPlayer *Player) |
void | Detach (cPlayer *Player) |
int | Priority (void) const |
bool | Receiving (bool Dummy=false) const |
bool | AttachReceiver (cReceiver *Receiver) |
void | Detach (cReceiver *Receiver) |
void | DetachAll (int Pid) |
virtual void | DetachAllReceivers (void) |
Static Public Member Functions | |
static int | NumDevices (void) |
static bool | WaitForAllDevicesReady (int Timeout=0) |
static void | SetUseDevice (int n) |
static bool | UseDevice (int n) |
static bool | SetPrimaryDevice (int n) |
static cDevice * | PrimaryDevice (void) |
static cDevice * | ActualDevice (void) |
static cDevice * | GetDevice (int Index) |
static cDevice * | GetDevice (const cChannel *Channel, int Priority, bool LiveView, bool Query=false) |
static cDevice * | GetDeviceForTransponder (const cChannel *Channel, int Priority) |
static void | Shutdown (void) |
static bool | SwitchChannel (int Direction) |
static int | CurrentChannel (void) |
static void | SetCurrentChannel (const cChannel *Channel) |
static int | CurrentVolume (void) |
static int | NumDevices (void) |
static bool | WaitForAllDevicesReady (int Timeout=0) |
static void | SetUseDevice (int n) |
static bool | UseDevice (int n) |
static bool | SetPrimaryDevice (int n) |
static cDevice * | PrimaryDevice (void) |
static cDevice * | ActualDevice (void) |
static cDevice * | GetDevice (int Index) |
static cDevice * | GetDevice (const cChannel *Channel, int Priority, bool LiveView, bool Query=false) |
static cDevice * | GetDeviceForTransponder (const cChannel *Channel, int Priority) |
static void | Shutdown (void) |
static bool | SwitchChannel (int Direction) |
static int | CurrentChannel (void) |
static void | SetCurrentChannel (const cChannel *Channel) |
static int | CurrentVolume (void) |
Protected Types | |
enum | ePidType { ptAudio, ptVideo, ptPcr, ptTeletext, ptDolby, ptOther, ptAudio, ptVideo, ptPcr, ptTeletext, ptDolby, ptOther } |
enum | ePidType { ptAudio, ptVideo, ptPcr, ptTeletext, ptDolby, ptOther, ptAudio, ptVideo, ptPcr, ptTeletext, ptDolby, ptOther } |
Protected Member Functions | |
cDevice (void) | |
virtual | ~cDevice () |
virtual bool | Ready (void) |
virtual void | MakePrimaryDevice (bool On) |
bool | DeviceHooksProvidesTransponder (const cChannel *Channel) const |
virtual bool | SetChannelDevice (const cChannel *Channel, bool LiveView) |
bool | HasPid (int Pid) const |
bool | AddPid (int Pid, ePidType PidType=ptOther, int StreamType=0) |
void | DelPid (int Pid, ePidType PidType=ptOther) |
virtual bool | SetPid (cPidHandle *Handle, int Type, bool On) |
void | StartSectionHandler (void) |
void | StopSectionHandler (void) |
virtual void | SetAudioTrackDevice (eTrackType Type) |
virtual void | SetSubtitleTrackDevice (eTrackType Type) |
virtual int | GetAudioChannelDevice (void) |
virtual void | SetAudioChannelDevice (int AudioChannel) |
virtual void | SetVolumeDevice (int Volume) |
virtual void | SetDigitalAudioDevice (bool On) |
const cPatPmtParser * | PatPmtParser (void) const |
virtual bool | CanReplay (void) const |
virtual bool | SetPlayMode (ePlayMode PlayMode) |
virtual int | PlayVideo (const uchar *Data, int Length) |
virtual int | PlayAudio (const uchar *Data, int Length, uchar Id) |
virtual int | PlaySubtitle (const uchar *Data, int Length) |
virtual int | PlayPesPacket (const uchar *Data, int Length, bool VideoOnly=false) |
virtual int | PlayTsVideo (const uchar *Data, int Length) |
virtual int | PlayTsAudio (const uchar *Data, int Length) |
virtual int | PlayTsSubtitle (const uchar *Data, int Length) |
virtual bool | OpenDvr (void) |
virtual void | CloseDvr (void) |
virtual bool | GetTSPacket (uchar *&Data) |
cDevice (void) | |
virtual | ~cDevice () |
virtual bool | Ready (void) |
virtual void | MakePrimaryDevice (bool On) |
bool | DeviceHooksProvidesTransponder (const cChannel *Channel) const |
virtual bool | SetChannelDevice (const cChannel *Channel, bool LiveView) |
bool | HasPid (int Pid) const |
bool | AddPid (int Pid, ePidType PidType=ptOther, int StreamType=0) |
void | DelPid (int Pid, ePidType PidType=ptOther) |
virtual bool | SetPid (cPidHandle *Handle, int Type, bool On) |
void | StartSectionHandler (void) |
void | StopSectionHandler (void) |
virtual void | SetAudioTrackDevice (eTrackType Type) |
virtual void | SetSubtitleTrackDevice (eTrackType Type) |
virtual int | GetAudioChannelDevice (void) |
virtual void | SetAudioChannelDevice (int AudioChannel) |
virtual void | SetVolumeDevice (int Volume) |
virtual void | SetDigitalAudioDevice (bool On) |
const cPatPmtParser * | PatPmtParser (void) const |
virtual bool | CanReplay (void) const |
virtual bool | SetPlayMode (ePlayMode PlayMode) |
virtual int | PlayVideo (const uchar *Data, int Length) |
virtual int | PlayAudio (const uchar *Data, int Length, uchar Id) |
virtual int | PlaySubtitle (const uchar *Data, int Length) |
virtual int | PlayPesPacket (const uchar *Data, int Length, bool VideoOnly=false) |
virtual int | PlayTsVideo (const uchar *Data, int Length) |
virtual int | PlayTsAudio (const uchar *Data, int Length) |
virtual int | PlayTsSubtitle (const uchar *Data, int Length) |
virtual bool | OpenDvr (void) |
virtual void | CloseDvr (void) |
virtual bool | GetTSPacket (uchar *&Data) |
Static Protected Member Functions | |
static int | NextCardIndex (int n=0) |
static int | NextCardIndex (int n=0) |
Protected Attributes | |
cPidHandle | pidHandles [MAXPIDHANDLES] |
Static Protected Attributes | |
static int | currentChannel = 1 |
Private Member Functions | |
eSetChannelResult | SetChannel (const cChannel *Channel, bool LiveView) |
virtual void | Action (void) |
eSetChannelResult | SetChannel (const cChannel *Channel, bool LiveView) |
virtual void | Action (void) |
Private Attributes | |
int | cardIndex |
cLiveSubtitle * | liveSubtitle |
cDvbSubtitleConverter * | dvbSubtitleConverter |
time_t | occupiedTimeout |
cSectionHandler * | sectionHandler |
cEitFilter * | eitFilter |
cPatFilter * | patFilter |
cSdtFilter * | sdtFilter |
cNitFilter * | nitFilter |
time_t | startScrambleDetection |
cCamSlot * | camSlot |
tTrackId | availableTracks [ttMaxTrackTypes] |
eTrackType | currentAudioTrack |
eTrackType | currentSubtitleTrack |
cMutex | mutexCurrentAudioTrack |
cMutex | mutexCurrentSubtitleTrack |
int | currentAudioTrackMissingCount |
bool | autoSelectPreferredSubtitleLanguage |
int | pre_1_3_19_PrivateStream |
bool | mute |
int | volume |
cPlayer * | player |
cPatPmtParser | patPmtParser |
cTsToPes | tsToPesVideo |
cTsToPes | tsToPesAudio |
cTsToPes | tsToPesSubtitle |
cTsToPes | tsToPesTeletext |
bool | isPlayingVideo |
cMutex | mutexReceiver |
cReceiver * | receiver [MAXRECEIVERS] |
Static Private Attributes | |
static int | numDevices = 0 |
static int | useDevice = 0 |
static cDevice * | device [MAXDEVICES] = { NULL } |
static cDevice * | primaryDevice = NULL |
static int | nextCardIndex = 0 |
static cList< cDeviceHook > | deviceHooks |
Friends | |
class | cLiveSubtitle |
class | cDeviceHook |
The cDevice class is the base from which actual devices can be derived.
enum cDevice::ePidType [protected] |
enum cDevice::ePidType [protected] |
ptAudio | |
ptVideo | |
ptPcr | |
ptTeletext | |
ptDolby | |
ptOther | |
ptAudio | |
ptVideo | |
ptPcr | |
ptTeletext | |
ptDolby | |
ptOther |
Definition at line 340 of file include/vdr/device.h.
cDevice::cDevice | ( | void | ) | [protected] |
Definition at line 74 of file device.c.
References autoSelectPreferredSubtitleLanguage, camSlot, cardIndex, CardIndex(), ClrAvailableTracks(), currentAudioTrack, currentAudioTrackMissingCount, currentSubtitleTrack, cSetup::CurrentVolume, device, dsyslog, dvbSubtitleConverter, eitFilter, esyslog, isPlayingVideo, liveSubtitle, MAXDEVICES, MAXRECEIVERS, mute, nextCardIndex, nitFilter, numDevices, occupiedTimeout, patFilter, player, receiver, sdtFilter, sectionHandler, cThread::SetDescription(), Setup, startScrambleDetection, ttNone, and volume.
cDevice::~cDevice | ( | ) | [protected, virtual] |
Definition at line 115 of file device.c.
References Detach(), DetachAllReceivers(), dvbSubtitleConverter, liveSubtitle, and player.
cDevice::cDevice | ( | void | ) | [protected] |
virtual cDevice::~cDevice | ( | ) | [protected, virtual] |
void cDevice::Action | ( | void | ) | [private, 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 1565 of file device.c.
References CamSlot(), ChannelCamRelations, CloseDvr(), Detach(), GetTSPacket(), cThread::Lock(), MAXRECEIVERS, OpenDvr(), cReceiver::Receive(), receiver, cThread::Running(), cChannelCamRelations::SetChecked(), cChannelCamRelations::SetDecrypt(), cCamSlot::SlotNumber(), startScrambleDetection, TS_SCRAMBLING_CONTROL, TS_SCRAMBLING_TIME_OK, TS_SCRAMBLING_TIMEOUT, TS_SIZE, TsPid(), and cThread::Unlock().
virtual void cDevice::Action | ( | void | ) | [private, virtual] |
static cDevice* cDevice::ActualDevice | ( | void | ) | [static] |
Returns the actual receiving device in case of Transfer Mode, or the primary device otherwise.
cDevice * cDevice::ActualDevice | ( | void | ) | [static] |
Returns the actual receiving device in case of Transfer Mode, or the primary device otherwise.
Definition at line 206 of file device.c.
References PrimaryDevice(), and cTransferControl::ReceiverDevice().
Referenced by cSkinSTTNGDisplayChannel::Flush(), main(), Priority(), cEITScanner::Process(), and Transferring().
bool cDevice::AddPid | ( | int | Pid, |
ePidType | PidType = ptOther , |
||
int | StreamType = 0 |
||
) | [protected] |
Adds a PID to the set of PIDs this device shall receive.
Definition at line 453 of file device.c.
References camSlot, CardIndex(), DelPid(), DetachAll(), esyslog, MAXPIDHANDLES, cDevice::cPidHandle::pid, pidHandles, PRINTPIDS, ptOther, ptPcr, ptTeletext, cCamSlot::SetPid(), SetPid(), cDevice::cPidHandle::streamType, and cDevice::cPidHandle::used.
Referenced by AttachReceiver(), cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().
bool cDevice::AddPid | ( | int | Pid, |
ePidType | PidType = ptOther , |
||
int | StreamType = 0 |
||
) | [protected] |
Adds a PID to the set of PIDs this device shall receive.
void cDevice::AttachFilter | ( | cFilter * | Filter | ) |
Attaches the given filter to this device.
void cDevice::AttachFilter | ( | cFilter * | Filter | ) |
Attaches the given filter to this device.
Definition at line 597 of file device.c.
References cSectionHandler::Attach(), and sectionHandler.
Referenced by StartSectionHandler().
bool cDevice::AttachPlayer | ( | cPlayer * | Player | ) |
Attaches the given player to this device.
Definition at line 1195 of file device.c.
References cPlayer::Activate(), CanReplay(), ClrAvailableTracks(), DELETENULL(), Detach(), cPlayer::device, dvbSubtitleConverter, liveSubtitle, patPmtParser, player, cPlayer::playMode, cPatPmtParser::Reset(), SetPlayMode(), and Transferring().
Referenced by cControl::Attach().
bool cDevice::AttachPlayer | ( | cPlayer * | Player | ) |
Attaches the given player to this device.
bool cDevice::AttachReceiver | ( | cReceiver * | Receiver | ) |
Attaches the given receiver to this device.
Definition at line 1632 of file device.c.
References cReceiver::Activate(), AddPid(), camSlot, CardIndex(), DelPid(), cReceiver::device, esyslog, HasLock(), cThread::Lock(), MAXRECEIVERS, mutexReceiver, cReceiver::numPids, cReceiver::pids, receiver, cThread::Start(), cCamSlot::StartDecrypting(), startScrambleDetection, and cThread::Unlock().
Referenced by cRecordControl::cRecordControl(), cTransferControl::cTransferControl(), and SetCurrentSubtitleTrack().
bool cDevice::AttachReceiver | ( | cReceiver * | Receiver | ) |
Attaches the given receiver to this device.
virtual bool cDevice::AvoidRecording | ( | void | ) | const [inline, virtual] |
Returns true if this device should only be used for recording if no other device is available.
Reimplemented in cDvbSdFfDevice.
Definition at line 209 of file include/vdr/device.h.
virtual bool cDevice::AvoidRecording | ( | void | ) | const [inline, virtual] |
Returns true if this device should only be used for recording if no other device is available.
Reimplemented in cDvbSdFfDevice.
Definition at line 209 of file device.h.
Referenced by GetDevice().
cCamSlot* cDevice::CamSlot | ( | void | ) | const [inline] |
Returns the CAM slot that is currently used with this device, or NULL if no CAM slot is in use.
Definition at line 410 of file include/vdr/device.h.
References camSlot.
cCamSlot* cDevice::CamSlot | ( | void | ) | const [inline] |
Returns the CAM slot that is currently used with this device, or NULL if no CAM slot is in use.
Definition at line 410 of file device.h.
References camSlot.
Referenced by Action(), cCamSlot::Device(), GetDevice(), cDvbDevice::ProvidesChannel(), cDvbHdFfDevice::SetAudioTrackDevice(), cDvbSdFfDevice::SetAudioTrackDevice(), SetCamSlot(), cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().
bool cDevice::CanReplay | ( | void | ) | const [protected, virtual] |
Returns true if this device can currently start a replay session.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1083 of file device.c.
References HasDecoder().
Referenced by AttachPlayer(), and SetChannel().
virtual bool cDevice::CanReplay | ( | void | ) | const [protected, virtual] |
Returns true if this device can currently start a replay session.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
int cDevice::CardIndex | ( | void | ) | const [inline] |
Returns the card index of this device (0 ... MAXDEVICES - 1).
Definition at line 200 of file include/vdr/device.h.
References cardIndex.
int cDevice::CardIndex | ( | void | ) | const [inline] |
Returns the card index of this device (0 ... MAXDEVICES - 1).
Definition at line 200 of file device.h.
References cardIndex.
Referenced by AddPid(), AttachReceiver(), cDvbDevice::Bond(), cDevice(), cStatusTest::ChannelSwitch(), cRecordControl::cRecordControl(), cDvbTuner::GetBondingParams(), GetClippedNumProvidedSystems(), GetDevice(), cDvbSdFfDevice::GetSTC(), cDvbHdFfDevice::GetSTC(), cDvbDevice::OpenDvr(), cDvbDevice::ProvidesTransponder(), cStatusTest::Recording(), cDvbHdFfDevice::SetChannelDevice(), cDvbSdFfDevice::SetChannelDevice(), cDvbTuner::SetFrontend(), and cDvbDevice::UnBond().
void cDevice::Clear | ( | void | ) | [virtual] |
Clears all video and audio data from the device.
A derived class must call the base class function to make sure all registered cAudio objects are notified.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1102 of file device.c.
References Audios, cAudios::ClearAudio(), dvbSubtitleConverter, and cDvbSubtitleConverter::Reset().
Referenced by cPlayer::DeviceClear().
virtual void cDevice::Clear | ( | void | ) | [virtual] |
Clears all video and audio data from the device.
A derived class must call the base class function to make sure all registered cAudio objects are notified.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
void cDevice::CloseDvr | ( | void | ) | [protected, virtual] |
Shuts down the DVR.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 1623 of file device.c.
Referenced by Action().
virtual void cDevice::CloseDvr | ( | void | ) | [protected, virtual] |
Shuts down the DVR.
Reimplemented in cDvbDevice, and cDvbDevice.
virtual void cDevice::CloseFilter | ( | int | Handle | ) | [virtual] |
Closes a file handle that has previously been opened by OpenFilter().
If this is as simple as calling close(Handle), a derived class need not implement this function, because this is done by the default implementation.
Reimplemented in cDvbDevice, and cDvbDevice.
void cDevice::CloseFilter | ( | int | Handle | ) | [virtual] |
Closes a file handle that has previously been opened by OpenFilter().
If this is as simple as calling close(Handle), a derived class need not implement this function, because this is done by the default implementation.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 592 of file device.c.
Referenced by cSectionHandler::Del().
void cDevice::ClrAvailableTracks | ( | bool | DescriptionsOnly = false , |
bool | IdsOnly = false |
||
) |
Clears the list of currently available tracks.
If DescriptionsOnly is true, only the track descriptions will be cleared. With IdsOnly set to true only the ids will be cleared. IdsOnly is only taken into account if DescriptionsOnly is false.
Definition at line 911 of file device.c.
References availableTracks, currentAudioTrack, currentAudioTrackMissingCount, currentSubtitleTrack, cThread::description, pre_1_3_19_PrivateStream, SetAudioChannel(), ttMaxTrackTypes, and ttNone.
Referenced by AttachPlayer(), cDevice(), cPlayer::DeviceClrAvailableTracks(), cPatPmtParser::ParsePmt(), PlayPesPacket(), SetChannel(), and SetTrackDescriptions().
void cDevice::ClrAvailableTracks | ( | bool | DescriptionsOnly = false , |
bool | IdsOnly = false |
||
) |
Clears the list of currently available tracks.
If DescriptionsOnly is true, only the track descriptions will be cleared. With IdsOnly set to true only the ids will be cleared. IdsOnly is only taken into account if DescriptionsOnly is false.
static int cDevice::CurrentChannel | ( | void | ) | [inline, static] |
Returns the number of the current channel on the primary device.
Definition at line 307 of file device.h.
References currentChannel, and primaryDevice.
Referenced by cDisplayChannel::cDisplayChannel(), cDisplaySubtitleTracks::cDisplaySubtitleTracks(), cDisplayTracks::cDisplayTracks(), cRcuRemote::ChannelSwitch(), cSVDRP::CmdCHAN(), cSVDRP::CmdDELC(), cSVDRP::CmdMOVC(), cMenuSchedule::cMenuSchedule(), cTimer::cTimer(), cMenuChannels::Delete(), ForceTransferMode(), main(), cMenuChannels::Move(), cMenuSchedule::Number(), cEITScanner::Process(), cDisplayChannel::ProcessKey(), cMenuSchedule::ProcessKey(), cMenuChannels::Setup(), cRecordControls::Start(), and SwitchChannel().
static int cDevice::CurrentChannel | ( | void | ) | [inline, static] |
Returns the number of the current channel on the primary device.
Definition at line 307 of file include/vdr/device.h.
References currentChannel, and primaryDevice.
static int cDevice::CurrentVolume | ( | void | ) | [inline, static] |
Definition at line 556 of file device.h.
References primaryDevice, and volume.
Referenced by cSVDRP::CmdVOLU(), main(), cDvbSdFfDevice::SetDigitalAudioDevice(), and cDisplayVolume::Show().
static int cDevice::CurrentVolume | ( | void | ) | [inline, static] |
Definition at line 556 of file include/vdr/device.h.
References primaryDevice, and volume.
void cDevice::DelLivePids | ( | void | ) |
Deletes the live viewing PIDs.
void cDevice::DelLivePids | ( | void | ) |
Deletes the live viewing PIDs.
Definition at line 552 of file device.c.
References DelPid(), pidHandles, ptAudio, and ptOther.
Referenced by cDvbTuner::SetChannel().
void cDevice::DelPid | ( | int | Pid, |
ePidType | PidType = ptOther |
||
) | [protected] |
Deletes a PID from the set of PIDs this device shall receive.
void cDevice::DelPid | ( | int | Pid, |
ePidType | PidType = ptOther |
||
) | [protected] |
Deletes a PID from the set of PIDs this device shall receive.
Definition at line 517 of file device.c.
References camSlot, cDevice::cPidHandle::handle, MAXPIDHANDLES, cDevice::cPidHandle::pid, pidHandles, PRINTPIDS, ptPcr, cCamSlot::SetPid(), and SetPid().
Referenced by AddPid(), AttachReceiver(), DelLivePids(), Detach(), cDvbHdFfDevice::TurnOffLiveMode(), and cDvbSdFfDevice::TurnOffLiveMode().
void cDevice::Detach | ( | cFilter * | Filter | ) |
Detaches the given filter from this device.
void cDevice::Detach | ( | cFilter * | Filter | ) |
Detaches the given filter from this device.
Definition at line 603 of file device.c.
References cSectionHandler::Detach(), and sectionHandler.
Referenced by Action(), AttachPlayer(), cReceiver::Detach(), cPlayer::Detach(), DetachAll(), DetachAllReceivers(), StopReplay(), and ~cDevice().
void cDevice::Detach | ( | cPlayer * | Player | ) |
Detaches the given player from this device.
Definition at line 1214 of file device.c.
References cPlayer::Activate(), Audios, cAudios::ClearAudio(), cPlayer::device, dvbSubtitleConverter, isPlayingVideo, mutexCurrentSubtitleTrack, patPmtParser, player, PlayTs(), pmNone, cPatPmtParser::Reset(), SetPlayMode(), Setup, SetVideoDisplayFormat(), and cSetup::VideoDisplayFormat.
void cDevice::Detach | ( | cPlayer * | Player | ) |
Detaches the given player from this device.
void cDevice::Detach | ( | cReceiver * | Receiver | ) |
Detaches the given receiver from this device.
Definition at line 1674 of file device.c.
References cReceiver::Activate(), camSlot, cThread::Cancel(), DelPid(), cReceiver::device, cThread::Lock(), MAXRECEIVERS, mutexReceiver, cReceiver::numPids, cReceiver::pids, receiver, cCamSlot::StartDecrypting(), and cThread::Unlock().
void cDevice::Detach | ( | cReceiver * | Receiver | ) |
Detaches the given receiver from this device.
void cDevice::DetachAll | ( | int | Pid | ) |
Detaches all receivers from this device for this pid.
void cDevice::DetachAll | ( | int | Pid | ) |
Detaches all receivers from this device for this pid.
Definition at line 1699 of file device.c.
References Detach(), MAXRECEIVERS, mutexReceiver, receiver, and cReceiver::WantsPid().
Referenced by AddPid(), cDvbHdFfDevice::SetAudioTrackDevice(), cDvbSdFfDevice::SetAudioTrackDevice(), cDvbHdFfDevice::TurnOffLiveMode(), and cDvbSdFfDevice::TurnOffLiveMode().
virtual void cDevice::DetachAllReceivers | ( | void | ) | [virtual] |
Detaches all receivers from this device.
Reimplemented in cDvbDevice, and cDvbDevice.
void cDevice::DetachAllReceivers | ( | void | ) | [virtual] |
Detaches all receivers from this device.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 1711 of file device.c.
References Detach(), MAXRECEIVERS, mutexReceiver, and receiver.
Referenced by GetDevice(), and ~cDevice().
bool cDevice::DeviceHooksProvidesTransponder | ( | const cChannel * | Channel | ) | const [protected] |
bool cDevice::DeviceHooksProvidesTransponder | ( | const cChannel * | Channel | ) | const [protected] |
Definition at line 614 of file device.c.
References deviceHooks, cDeviceHook::DeviceProvidesTransponder(), cList< T >::First(), and cList< T >::Next().
Referenced by cDvbDevice::ProvidesTransponder().
virtual cString cDevice::DeviceName | ( | void | ) | const [virtual] |
Returns a string identifying the name of this device.
The default implementation returns an empty string.
Reimplemented in cDvbDevice, and cDvbDevice.
cString cDevice::DeviceName | ( | void | ) | const [virtual] |
Returns a string identifying the name of this device.
The default implementation returns an empty string.
Reimplemented in cDvbDevice, and cDvbDevice.
int cDevice::DeviceNumber | ( | void | ) | const |
Returns the number of this device (0 ... numDevices).
int cDevice::DeviceNumber | ( | void | ) | const |
Returns the number of this device (0 ... numDevices).
Definition at line 157 of file device.c.
References device, and numDevices.
Referenced by cCamSlot::Assign(), cDvbCiAdapter::cDvbCiAdapter(), cSkinSTTNGDisplayChannel::Flush(), main(), cDvbCiAdapter::ModuleStatus(), cEITScanner::Process(), cDvbCiAdapter::Read(), cRcuRemote::Recording(), cDvbCiAdapter::Reset(), cRecordControls::Start(), and cDvbCiAdapter::Write().
void cDevice::EnsureAudioTrack | ( | bool | Force = false | ) |
Makes sure an audio track is selected that is actually available.
If Force is true, the language and Dolby Digital settings will be verified even if the current audio track is available.
Definition at line 1032 of file device.c.
References cSetup::AudioLanguages, availableTracks, currentAudioTrack, cSetup::CurrentDolby, dsyslog, GetCurrentAudioTrack(), GetTrack(), I18nIsPreferredLanguage(), tTrackId::id, tTrackId::language, SetAudioChannel(), SetCurrentAudioTrack(), Setup, ttAudioFirst, ttAudioLast, ttDolbyFirst, and ttDolbyLast.
Referenced by cDisplayTracks::cDisplayTracks(), cPatPmtParser::ParsePmt(), SetAvailableTrack(), and SetChannel().
void cDevice::EnsureAudioTrack | ( | bool | Force = false | ) |
Makes sure an audio track is selected that is actually available.
If Force is true, the language and Dolby Digital settings will be verified even if the current audio track is available.
void cDevice::EnsureSubtitleTrack | ( | void | ) |
Makes sure one of the preferred language subtitle tracks is selected.
Only has an effect if Setup.DisplaySubtitles is on.
Definition at line 1063 of file device.c.
References cSetup::DisplaySubtitles, GetCurrentSubtitleTrack(), GetTrack(), I18nIsPreferredLanguage(), tTrackId::id, tTrackId::language, SetCurrentSubtitleTrack(), Setup, cSetup::SubtitleLanguages, ttNone, ttSubtitleFirst, and ttSubtitleLast.
Referenced by cPatPmtParser::ParsePmt(), cMenuSetupDVB::ProcessKey(), SetAvailableTrack(), and SetChannel().
void cDevice::EnsureSubtitleTrack | ( | void | ) |
Makes sure one of the preferred language subtitle tracks is selected.
Only has an effect if Setup.DisplaySubtitles is on.
bool cDevice::Flush | ( | int | TimeoutMs = 0 | ) | [virtual] |
Returns true if the device's output buffers are empty, i.
e. any data which was buffered so far has been processed. If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case there is still data in the buffers.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1247 of file device.c.
Referenced by cPlayer::DeviceFlush().
virtual bool cDevice::Flush | ( | int | TimeoutMs = 0 | ) | [virtual] |
Returns true if the device's output buffers are empty, i.
e. any data which was buffered so far has been processed. If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case there is still data in the buffers.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
void cDevice::ForceTransferMode | ( | void | ) |
Forces the device into transfermode for the current channel.
Definition at line 808 of file device.c.
References Channels, CurrentChannel(), cChannels::GetByNumber(), cTransferControl::ReceiverDevice(), and SetChannelDevice().
Referenced by cDvbSdFfDevice::SetAudioTrackDevice().
void cDevice::ForceTransferMode | ( | void | ) |
Forces the device into transfermode for the current channel.
void cDevice::Freeze | ( | void | ) | [virtual] |
Puts the device into "freeze frame" mode.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1116 of file device.c.
References Audios, dvbSubtitleConverter, cDvbSubtitleConverter::Freeze(), and cAudios::MuteAudio().
Referenced by cPlayer::DeviceFreeze().
virtual void cDevice::Freeze | ( | void | ) | [virtual] |
Puts the device into "freeze frame" mode.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
int cDevice::GetAudioChannel | ( | void | ) |
Gets the current audio channel, which is stereo (0), mono left (1) or mono right (2).
Definition at line 886 of file device.c.
References GetAudioChannelDevice().
Referenced by cDisplayTracks::cDisplayTracks(), and cDisplayTracks::ProcessKey().
int cDevice::GetAudioChannel | ( | void | ) |
Gets the current audio channel, which is stereo (0), mono left (1) or mono right (2).
int cDevice::GetAudioChannelDevice | ( | void | ) | [protected, virtual] |
Gets the current audio channel, which is stereo (0), mono left (1) or mono right (2).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 844 of file device.c.
Referenced by GetAudioChannel().
virtual int cDevice::GetAudioChannelDevice | ( | void | ) | [protected, virtual] |
Gets the current audio channel, which is stereo (0), mono left (1) or mono right (2).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
eTrackType cDevice::GetCurrentAudioTrack | ( | void | ) | const [inline] |
Definition at line 508 of file device.h.
References currentAudioTrack.
Referenced by cDisplayTracks::cDisplayTracks(), EnsureAudioTrack(), and cSkinSTTNGDisplayChannel::Flush().
eTrackType cDevice::GetCurrentAudioTrack | ( | void | ) | const [inline] |
Definition at line 508 of file include/vdr/device.h.
References currentAudioTrack.
virtual const cChannel* cDevice::GetCurrentlyTunedTransponder | ( | void | ) | const [virtual] |
Returns a pointer to the currently tuned transponder.
This is not one of the channels in the global cChannels list, but rather a local copy. The result may be NULL if the device is not tuned to any transponder.
Reimplemented in cDvbDevice, and cDvbDevice.
const cChannel * cDevice::GetCurrentlyTunedTransponder | ( | void | ) | const [virtual] |
Returns a pointer to the currently tuned transponder.
This is not one of the channels in the global cChannels list, but rather a local copy. The result may be NULL if the device is not tuned to any transponder.
Reimplemented in cDvbDevice, and cDvbDevice.
eTrackType cDevice::GetCurrentSubtitleTrack | ( | void | ) | const [inline] |
Definition at line 512 of file device.h.
References currentSubtitleTrack.
Referenced by cDisplaySubtitleTracks::cDisplaySubtitleTracks(), and EnsureSubtitleTrack().
eTrackType cDevice::GetCurrentSubtitleTrack | ( | void | ) | const [inline] |
Definition at line 512 of file include/vdr/device.h.
References currentSubtitleTrack.
static cDevice* cDevice::GetDevice | ( | int | Index | ) | [static] |
Gets the device with the given Index.
Index | must be in the range 0..numDevices-1. |
cDevice * cDevice::GetDevice | ( | int | Index | ) | [static] |
Gets the device with the given Index.
Index | must be in the range 0..numDevices-1. |
Definition at line 214 of file device.c.
References device, and numDevices.
Referenced by cDvbDevice::BondDevices(), GetDeviceForTransponder(), cDvbHdFfDevice::GetHdffCmdHandler(), main(), cDisplayChannel::NextAvailableChannel(), cEITScanner::Process(), SetChannel(), cMenuSetupLNB::Setup(), cRecordControls::Start(), SwitchChannel(), and cDvbDevice::UnBondDevices().
cDevice * cDevice::GetDevice | ( | const cChannel * | Channel, |
int | Priority, | ||
bool | LiveView, | ||
bool | Query = false |
||
) | [static] |
Returns a device that is able to receive the given Channel at the given Priority, with the least impact on active recordings and live viewing.
The LiveView parameter tells whether the device will be used for live viewing or a recording. If the Channel is encrypted, a CAM slot that claims to be able to decrypt the channel is automatically selected and assigned to the returned device. Whether or not this combination of device and CAM slot is actually able to decrypt the channel can only be determined by checking the "scrambling control" bits of the received TS packets. The Action() function automatically does this and takes care that after detaching any receivers because the channel can't be decrypted, this device/CAM combination will be skipped in the next call to GetDevice(). If Query is true, no actual CAM assignments or receiver detachments will be done, so that this function can be called without any side effects in order to just determine whether a device is available for the given Channel. See also ProvidesChannel().
Definition at line 234 of file device.c.
References cCamSlot::Assign(), AvoidRecording(), cChannel::Ca(), CA_DVB_MAX, CA_ENCRYPTED_MIN, cChannel::Caids(), cChannelCamRelations::CamChecked(), cChannelCamRelations::CamDecrypt(), CamSlot(), CamSlots, CardIndex(), ChannelCamRelations, cListBase::Count(), DetachAllReceivers(), device, cCamSlot::Device(), cList< T >::First(), cList< T >::Get(), cChannel::GetChannelID(), GetClippedNumProvidedSystems(), HasCi(), IDLEPRIORITY, cListObject::Index(), cCamSlot::IsDecrypting(), IsPrimaryDevice(), MAXPRIORITY, cCamSlot::ModuleStatus(), msReady, cList< T >::Next(), numDevices, cCamSlot::Priority(), Priority(), cCamSlot::ProvidesCa(), ProvidesChannel(), cTransferControl::ReceiverDevice(), Receiving(), and cCamSlot::SlotNumber().
static cDevice* cDevice::GetDevice | ( | const cChannel * | Channel, |
int | Priority, | ||
bool | LiveView, | ||
bool | Query = false |
||
) | [static] |
Returns a device that is able to receive the given Channel at the given Priority, with the least impact on active recordings and live viewing.
The LiveView parameter tells whether the device will be used for live viewing or a recording. If the Channel is encrypted, a CAM slot that claims to be able to decrypt the channel is automatically selected and assigned to the returned device. Whether or not this combination of device and CAM slot is actually able to decrypt the channel can only be determined by checking the "scrambling control" bits of the received TS packets. The Action() function automatically does this and takes care that after detaching any receivers because the channel can't be decrypted, this device/CAM combination will be skipped in the next call to GetDevice(). If Query is true, no actual CAM assignments or receiver detachments will be done, so that this function can be called without any side effects in order to just determine whether a device is available for the given Channel. See also ProvidesChannel().
static cDevice* cDevice::GetDeviceForTransponder | ( | const cChannel * | Channel, |
int | Priority | ||
) | [static] |
Returns a device that is not currently "occupied" and can be tuned to the transponder of the given Channel, without disturbing any receiver at priorities higher or equal to Priority.
If no such device is currently available, NULL will be returned.
cDevice * cDevice::GetDeviceForTransponder | ( | const cChannel * | Channel, |
int | Priority | ||
) | [static] |
Returns a device that is not currently "occupied" and can be tuned to the transponder of the given Channel, without disturbing any receiver at priorities higher or equal to Priority.
If no such device is currently available, NULL will be returned.
Definition at line 323 of file device.c.
References GetDevice(), NumDevices(), and Priority().
Referenced by main().
void cDevice::GetOsdSize | ( | int & | Width, |
int & | Height, | ||
double & | PixelAspect | ||
) | [virtual] |
Returns the Width, Height and PixelAspect ratio the OSD should use to best fit the resolution of the output device.
If PixelAspect is not 1.0, the OSD may take this as a hint to scale its graphics in a way that, e.g., a circle will actually show up as a circle on the screen, and not as an ellipse. Values greater than 1.0 mean to stretch the graphics in the vertical direction (or shrink it in the horizontal direction, depending on which dimension shall be fixed). Values less than 1.0 work the other way round. Note that the OSD is not guaranteed to actually use this hint.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 434 of file device.c.
Referenced by cDvbSubtitleConverter::SetOsdData(), and cOsdProvider::UpdateOsdSize().
virtual void cDevice::GetOsdSize | ( | int & | Width, |
int & | Height, | ||
double & | PixelAspect | ||
) | [virtual] |
Returns the Width, Height and PixelAspect ratio the OSD should use to best fit the resolution of the output device.
If PixelAspect is not 1.0, the OSD may take this as a hint to scale its graphics in a way that, e.g., a circle will actually show up as a circle on the screen, and not as an ellipse. Values greater than 1.0 mean to stretch the graphics in the vertical direction (or shrink it in the horizontal direction, depending on which dimension shall be fixed). Values less than 1.0 work the other way round. Note that the OSD is not guaranteed to actually use this hint.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
virtual cSpuDecoder* cDevice::GetSpuDecoder | ( | void | ) | [virtual] |
Returns a pointer to the device's SPU decoder (or NULL, if this device doesn't have an SPU decoder).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
cSpuDecoder * cDevice::GetSpuDecoder | ( | void | ) | [virtual] |
Returns a pointer to the device's SPU decoder (or NULL, if this device doesn't have an SPU decoder).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 201 of file device.c.
Referenced by SetVideoDisplayFormat().
int64_t cDevice::GetSTC | ( | void | ) | [virtual] |
Gets the current System Time Counter, which can be used to synchronize audio, video and subtitles.
If this device is able to replay, it must provide an STC. The value returned doesn't need to be an actual "clock" value, it is sufficient if it holds the PTS (Presentation Time Stamp) of the most recently presented frame. A proper value must be returned in normal replay mode as well as in any trick modes (like slow motion, fast forward/rewind). Only the lower 32 bit of this value are actually used, since some devices can't handle the msb correctly.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1093 of file device.c.
Referenced by cDvbSubtitleConverter::Action(), and cPlayer::DeviceGetSTC().
virtual int64_t cDevice::GetSTC | ( | void | ) | [virtual] |
Gets the current System Time Counter, which can be used to synchronize audio, video and subtitles.
If this device is able to replay, it must provide an STC. The value returned doesn't need to be an actual "clock" value, it is sufficient if it holds the PTS (Presentation Time Stamp) of the most recently presented frame. A proper value must be returned in normal replay mode as well as in any trick modes (like slow motion, fast forward/rewind). Only the lower 32 bit of this value are actually used, since some devices can't handle the msb correctly.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
const tTrackId * cDevice::GetTrack | ( | eTrackType | Type | ) |
Returns a pointer to the given track id, or NULL if Type is not less than ttMaxTrackTypes.
Definition at line 961 of file device.c.
References availableTracks, ttMaxTrackTypes, and ttNone.
Referenced by cDisplaySubtitleTracks::cDisplaySubtitleTracks(), cDisplayTracks::cDisplayTracks(), EnsureAudioTrack(), EnsureSubtitleTrack(), cSkinSTTNGDisplayChannel::Flush(), cDvbHdFfDevice::SetAudioTrackDevice(), cDvbSdFfDevice::SetAudioTrackDevice(), SetCurrentAudioTrack(), and SetCurrentSubtitleTrack().
const tTrackId* cDevice::GetTrack | ( | eTrackType | Type | ) |
Returns a pointer to the given track id, or NULL if Type is not less than ttMaxTrackTypes.
virtual bool cDevice::GetTSPacket | ( | uchar *& | Data | ) | [protected, virtual] |
Gets exactly one TS packet from the DVR of this device and returns a pointer to it in Data.
Only the first 188 bytes (TS_SIZE) Data points to are valid and may be accessed. If there is currently no new data available, Data will be set to NULL. The function returns false in case of a non recoverable error, otherwise it returns true, even if Data is NULL.
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::GetTSPacket | ( | uchar *& | Data | ) | [protected, virtual] |
Gets exactly one TS packet from the DVR of this device and returns a pointer to it in Data.
Only the first 188 bytes (TS_SIZE) Data points to are valid and may be accessed. If there is currently no new data available, Data will be set to NULL. The function returns false in case of a non recoverable error, otherwise it returns true, even if Data is NULL.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 1627 of file device.c.
Referenced by Action().
void cDevice::GetVideoSize | ( | int & | Width, |
int & | Height, | ||
double & | VideoAspect | ||
) | [virtual] |
Returns the Width, Height and VideoAspect ratio of the currently displayed video material.
Width and Height are given in pixel (e.g. 720x576) and VideoAspect is e.g. 1.33333 for a 4:3 broadcast, or 1.77778 for 16:9. The default implementation returns 0 for Width and Height and 1.0 for VideoAspect.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 427 of file device.c.
Referenced by cDvbSubtitleConverter::SetOsdData().
virtual void cDevice::GetVideoSize | ( | int & | Width, |
int & | Height, | ||
double & | VideoAspect | ||
) | [virtual] |
Returns the Width, Height and VideoAspect ratio of the currently displayed video material.
Width and Height are given in pixel (e.g. 720x576) and VideoAspect is e.g. 1.33333 for a 4:3 broadcast, or 1.77778 for 16:9. The default implementation returns 0 for Width and Height and 1.0 for VideoAspect.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
eVideoSystem cDevice::GetVideoSystem | ( | void | ) | [virtual] |
Returns the video system of the currently displayed material (default is PAL).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 422 of file device.c.
References vsPAL.
virtual eVideoSystem cDevice::GetVideoSystem | ( | void | ) | [virtual] |
Returns the video system of the currently displayed material (default is PAL).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
virtual uchar* cDevice::GrabImage | ( | int & | Size, |
bool | Jpeg = true , |
||
int | Quality = -1 , |
||
int | SizeX = -1 , |
||
int | SizeY = -1 |
||
) | [virtual] |
Grabs the currently visible screen image.
Size | The size of the returned data block. |
Jpeg | If true will write a JPEG file. Otherwise a PNM file will be written. |
Quality | The compression factor for JPEG. 1 will create a very blocky and small image, 70..80 will yield reasonable quality images while keeping the image file size around 50 KB for a full frame. The default will create a big but very high quality image. |
SizeX | The number of horizontal pixels in the frame (default is the current screen width). |
SizeY | The number of vertical pixels in the frame (default is the current screen height). |
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
uchar * cDevice::GrabImage | ( | int & | Size, |
bool | Jpeg = true , |
||
int | Quality = -1 , |
||
int | SizeX = -1 , |
||
int | SizeY = -1 |
||
) | [virtual] |
Grabs the currently visible screen image.
Size | The size of the returned data block. |
Jpeg | If true will write a JPEG file. Otherwise a PNM file will be written. |
Quality | The compression factor for JPEG. 1 will create a very blocky and small image, 70..80 will yield reasonable quality images while keeping the image file size around 50 KB for a full frame. The default will create a big but very high quality image. |
SizeX | The number of horizontal pixels in the frame (default is the current screen width). |
SizeY | The number of vertical pixels in the frame (default is the current screen height). |
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 363 of file device.c.
Referenced by cSVDRP::CmdGRAB(), and GrabImageFile().
bool cDevice::GrabImageFile | ( | const char * | FileName, |
bool | Jpeg = true , |
||
int | Quality = -1 , |
||
int | SizeX = -1 , |
||
int | SizeY = -1 |
||
) |
Calls GrabImage() and stores the resulting image in a file with the given name.
bool cDevice::GrabImageFile | ( | const char * | FileName, |
bool | Jpeg = true , |
||
int | Quality = -1 , |
||
int | SizeX = -1 , |
||
int | SizeY = -1 |
||
) |
Calls GrabImage() and stores the resulting image in a file with the given name.
Definition at line 368 of file device.c.
References GrabImage(), isyslog, LOG_ERROR_STR, and safe_write().
virtual bool cDevice::HasCi | ( | void | ) | [virtual] |
Returns true if this device has a Common Interface.
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::HasCi | ( | void | ) | [virtual] |
Returns true if this device has a Common Interface.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 343 of file device.c.
Referenced by GetDevice().
virtual bool cDevice::HasDecoder | ( | void | ) | const [virtual] |
Tells whether this device has an MPEG decoder.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
bool cDevice::HasDecoder | ( | void | ) | const [virtual] |
Tells whether this device has an MPEG decoder.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 196 of file device.c.
Referenced by CanReplay(), and main().
virtual bool cDevice::HasIBPTrickSpeed | ( | void | ) | [inline, virtual] |
Returns true if this device can handle all frames in 'fast forward' trick speeds.
Definition at line 643 of file device.h.
Referenced by cPlayer::DeviceHasIBPTrickSpeed(), PlayPesPacket(), and PlayTs().
virtual bool cDevice::HasIBPTrickSpeed | ( | void | ) | [inline, virtual] |
Returns true if this device can handle all frames in 'fast forward' trick speeds.
Definition at line 643 of file include/vdr/device.h.
virtual bool cDevice::HasLock | ( | int | TimeoutMs = 0 | ) | [virtual] |
Returns true if the device has a lock on the requested transponder.
Default is true, a specific device implementation may return false to indicate that it is not ready yet. If TimeoutMs is not zero, waits for the given number of milliseconds before returning false.
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::HasLock | ( | int | TimeoutMs = 0 | ) | [virtual] |
Returns true if the device has a lock on the requested transponder.
Default is true, a specific device implementation may return false to indicate that it is not ready yet. If TimeoutMs is not zero, waits for the given number of milliseconds before returning false.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 834 of file device.c.
Referenced by cSectionHandler::Action(), AttachReceiver(), and cSectionHandler::SetStatus().
bool cDevice::HasPid | ( | int | Pid | ) | const [protected] |
Returns true if this device is currently receiving the given PID.
bool cDevice::HasPid | ( | int | Pid | ) | const [protected] |
Returns true if this device is currently receiving the given PID.
Definition at line 444 of file device.c.
References MAXPIDHANDLES, and pidHandles.
Referenced by cDvbDevice::ProvidesChannel(), cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().
virtual bool cDevice::HasProgramme | ( | void | ) | [virtual] |
Returns true if the device is currently showing any programme to the user, either through replaying or live.
bool cDevice::HasProgramme | ( | void | ) | [virtual] |
Returns true if the device is currently showing any programme to the user, either through replaying or live.
Definition at line 839 of file device.c.
References cDevice::cPidHandle::pid, pidHandles, ptAudio, ptVideo, and Replaying().
Referenced by main().
bool cDevice::IsMute | ( | void | ) | const [inline] |
Definition at line 544 of file device.h.
References mute.
Referenced by cDvbSdFfDevice::SetDigitalAudioDevice().
bool cDevice::IsMute | ( | void | ) | const [inline] |
Definition at line 544 of file include/vdr/device.h.
References mute.
virtual bool cDevice::IsPlayingVideo | ( | void | ) | const [inline, virtual] |
Definition at line 640 of file device.h.
References isPlayingVideo.
Referenced by cPlayer::DeviceIsPlayingVideo().
virtual bool cDevice::IsPlayingVideo | ( | void | ) | const [inline, virtual] |
Definition at line 640 of file include/vdr/device.h.
References isPlayingVideo.
bool cDevice::IsPrimaryDevice | ( | void | ) | const [inline] |
Definition at line 199 of file include/vdr/device.h.
References primaryDevice.
bool cDevice::IsPrimaryDevice | ( | void | ) | const [inline] |
Definition at line 199 of file device.h.
References primaryDevice.
Referenced by GetDevice(), cDvbSdFfDevice::GetSpuDecoder(), cDvbHdFfDevice::GetSpuDecoder(), main(), Priority(), SetChannel(), cDvbTuner::SetChannel(), cDvbHdFfDevice::SetChannelDevice(), cDvbSdFfDevice::SetChannelDevice(), and StopReplay().
bool cDevice::IsTunedToTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this device is currently tuned to the given Channel's transponder.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 669 of file device.c.
Referenced by main().
virtual bool cDevice::IsTunedToTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this device is currently tuned to the given Channel's transponder.
Reimplemented in cDvbDevice, and cDvbDevice.
virtual void cDevice::MakePrimaryDevice | ( | bool | On | ) | [protected, virtual] |
Informs a device that it will be the primary device.
If there is anything the device needs to set up when it becomes the primary device (On = true) or to shut down when it no longer is the primary device (On = false), it should do so in this function. A derived class must call the MakePrimaryDevice() function of its base class.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
void cDevice::MakePrimaryDevice | ( | bool | On | ) | [protected, virtual] |
Informs a device that it will be the primary device.
If there is anything the device needs to set up when it becomes the primary device (On = true) or to shut down when it no longer is the primary device (On = false), it should do so in this function. A derived class must call the MakePrimaryDevice() function of its base class.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 171 of file device.c.
References DELETENULL(), dvbSubtitleConverter, and liveSubtitle.
Referenced by SetPrimaryDevice().
bool cDevice::MaySwitchTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if it is ok to switch to the Channel's transponder on this device, without disturbing any other activities.
If an occupied timeout has been set for this device, and that timeout has not yet expired, this function returns false,
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 674 of file device.c.
References occupiedTimeout, cDevice::cPidHandle::pid, pidHandles, ptAudio, ptDolby, ptVideo, and Receiving().
Referenced by cEITScanner::Process().
virtual bool cDevice::MaySwitchTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if it is ok to switch to the Channel's transponder on this device, without disturbing any other activities.
If an occupied timeout has been set for this device, and that timeout has not yet expired, this function returns false,
Reimplemented in cDvbDevice, and cDvbDevice.
void cDevice::Mute | ( | void | ) | [virtual] |
Turns off audio while replaying.
A derived class must call the base class function to make sure all registered cAudio objects are notified.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1123 of file device.c.
References Audios, and cAudios::MuteAudio().
Referenced by cPlayer::DeviceMute().
virtual void cDevice::Mute | ( | void | ) | [virtual] |
Turns off audio while replaying.
A derived class must call the base class function to make sure all registered cAudio objects are notified.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
static int cDevice::NextCardIndex | ( | int | n = 0 | ) | [static, protected] |
Calculates the next card index.
Each device in a given machine must have a unique card index, which will be used to identify the device for assigning Ca parameters and deciding whether to actually use that device in this particular instance of VDR. Every time a new cDevice is created, it will be given the current nextCardIndex, and then nextCardIndex will be automatically incremented by 1. A derived class can determine whether a given device shall be used by checking UseDevice(NextCardIndex()). If a device is skipped, or if there are possible device indexes left after a derived class has set up all its devices, NextCardIndex(n) must be called, where n is the number of card indexes to skip.
int cDevice::NextCardIndex | ( | int | n = 0 | ) | [static, protected] |
Calculates the next card index.
Each device in a given machine must have a unique card index, which will be used to identify the device for assigning Ca parameters and deciding whether to actually use that device in this particular instance of VDR. Every time a new cDevice is created, it will be given the current nextCardIndex, and then nextCardIndex will be automatically incremented by 1. A derived class can determine whether a given device shall be used by checking UseDevice(NextCardIndex()). If a device is skipped, or if there are possible device indexes left after a derived class has set up all its devices, NextCardIndex(n) must be called, where n is the number of card indexes to skip.
Definition at line 145 of file device.c.
References esyslog, MAXDEVICES, and nextCardIndex.
Referenced by cDvbDevice::Initialize().
int cDevice::NumAudioTracks | ( | void | ) | const |
Returns the number of audio tracks that are currently available.
This is just for information, to quickly find out whether there is more than one audio track.
Definition at line 976 of file device.c.
References NumTracks(), ttAudioFirst, and ttDolbyLast.
Referenced by SetAvailableTrack().
int cDevice::NumAudioTracks | ( | void | ) | const |
Returns the number of audio tracks that are currently available.
This is just for information, to quickly find out whether there is more than one audio track.
static int cDevice::NumDevices | ( | void | ) | [inline, static] |
Returns the total number of devices.
Definition at line 113 of file include/vdr/device.h.
References numDevices.
static int cDevice::NumDevices | ( | void | ) | [inline, static] |
Returns the total number of devices.
Definition at line 113 of file device.h.
References numDevices.
Referenced by cDvbDevice::BondDevices(), cRecordControl::cRecordControl(), GetDeviceForTransponder(), main(), cEITScanner::Process(), cMenuSetupDVB::Setup(), cMenuSetupLNB::Setup(), and cDvbDevice::UnBondDevices().
int cDevice::NumProvidedSystems | ( | void | ) | const [virtual] |
Returns the number of individual "delivery systems" this device provides.
The default implementation returns 0, so any derived class that can actually provide channels must implement this function. The result of this function is used when selecting a device, in order to avoid devices that provide more than one system.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 649 of file device.c.
Referenced by GetClippedNumProvidedSystems().
virtual int cDevice::NumProvidedSystems | ( | void | ) | const [virtual] |
Returns the number of individual "delivery systems" this device provides.
The default implementation returns 0, so any derived class that can actually provide channels must implement this function. The result of this function is used when selecting a device, in order to avoid devices that provide more than one system.
Reimplemented in cDvbDevice, and cDvbDevice.
int cDevice::NumSubtitleTracks | ( | void | ) | const |
Returns the number of subtitle tracks that are currently available.
Definition at line 981 of file device.c.
References NumTracks(), ttSubtitleFirst, and ttSubtitleLast.
int cDevice::NumSubtitleTracks | ( | void | ) | const |
Returns the number of subtitle tracks that are currently available.
int cDevice::NumTracks | ( | eTrackType | FirstTrack, |
eTrackType | LastTrack | ||
) | const |
Returns the number of tracks in the given range that are currently available.
Definition at line 966 of file device.c.
References availableTracks.
Referenced by NumAudioTracks(), and NumSubtitleTracks().
int cDevice::NumTracks | ( | eTrackType | FirstTrack, |
eTrackType | LastTrack | ||
) | const |
Returns the number of tracks in the given range that are currently available.
int cDevice::Occupied | ( | void | ) | const |
Returns the number of seconds this device is still occupied for.
Definition at line 817 of file device.c.
References occupiedTimeout.
int cDevice::Occupied | ( | void | ) | const |
Returns the number of seconds this device is still occupied for.
bool cDevice::OpenDvr | ( | void | ) | [protected, virtual] |
Opens the DVR of this device and prepares it to deliver a Transport Stream for use in a cReceiver.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 1618 of file device.c.
Referenced by Action().
virtual bool cDevice::OpenDvr | ( | void | ) | [protected, virtual] |
Opens the DVR of this device and prepares it to deliver a Transport Stream for use in a cReceiver.
Reimplemented in cDvbDevice, and cDvbDevice.
virtual int cDevice::OpenFilter | ( | u_short | Pid, |
u_char | Tid, | ||
u_char | Mask | ||
) | [virtual] |
Opens a file handle for the given filter data.
A derived device that provides section data must implement this function.
Reimplemented in cDvbDevice, and cDvbDevice.
int cDevice::OpenFilter | ( | u_short | Pid, |
u_char | Tid, | ||
u_char | Mask | ||
) | [virtual] |
Opens a file handle for the given filter data.
A derived device that provides section data must implement this function.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 587 of file device.c.
Referenced by cSectionHandler::Add().
const cPatPmtParser* cDevice::PatPmtParser | ( | void | ) | const [inline, protected] |
Returns a pointer to the patPmtParser, so that a derived device can use the stream information from it.
Definition at line 569 of file device.h.
References patPmtParser.
Referenced by cDvbHdFfDevice::PlayTsAudio(), cDvbHdFfDevice::PlayTsVideo(), and cDvbHdFfDevice::StillPicture().
const cPatPmtParser* cDevice::PatPmtParser | ( | void | ) | const [inline, protected] |
Returns a pointer to the patPmtParser, so that a derived device can use the stream information from it.
Definition at line 569 of file include/vdr/device.h.
References patPmtParser.
void cDevice::Play | ( | void | ) | [virtual] |
Sets the device into play mode (after a previous trick mode).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1109 of file device.c.
References Audios, dvbSubtitleConverter, cDvbSubtitleConverter::Freeze(), mute, and cAudios::MuteAudio().
Referenced by cPlayer::DevicePlay().
virtual void cDevice::Play | ( | void | ) | [virtual] |
Sets the device into play mode (after a previous trick mode).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
int cDevice::PlayAudio | ( | const uchar * | Data, |
int | Length, | ||
uchar | Id | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete PES packet of the given Length. Id indicates the type of audio data this packet holds. PlayAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1257 of file device.c.
Referenced by PlayPesPacket(), and PlayTsAudio().
virtual int cDevice::PlayAudio | ( | const uchar * | Data, |
int | Length, | ||
uchar | Id | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete PES packet of the given Length. Id indicates the type of audio data this packet holds. PlayAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
virtual int cDevice::PlayPes | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [virtual] |
Plays all valid PES packets in Data with the given Length.
If Data is NULL any leftover data from a previous call will be discarded. If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data should point to a sequence of complete PES packets. If the last packet in Data is not complete, it will be copied and combined to a complete packet with data from the next call to PlayPes(). That way any functions called from within PlayPes() will be guaranteed to always receive complete PES packets.
int cDevice::PlayPes | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [virtual] |
Plays all valid PES packets in Data with the given Length.
If Data is NULL any leftover data from a previous call will be discarded. If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data should point to a sequence of complete PES packets. If the last packet in Data is not complete, it will be copied and combined to a complete packet with data from the next call to PlayPes(). That way any functions called from within PlayPes() will be guaranteed to always receive complete PES packets.
Definition at line 1375 of file device.c.
References dvbSubtitleConverter, esyslog, PesLength(), PlayPesPacket(), and cDvbSubtitleConverter::Reset().
Referenced by cPlayer::PlayPes().
int cDevice::PlayPesPacket | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [protected, virtual] |
Plays the single PES packet in Data with the given Length.
If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data must point to one single, complete PES packet.
Definition at line 1269 of file device.c.
References Audios, availableTracks, ClrAvailableTracks(), currentAudioTrack, currentSubtitleTrack, dsyslog, esyslog, HasIBPTrickSpeed(), cVDRTtxtsubsHookListener::Hook(), isPlayingVideo, MIN_PRE_1_3_19_PRIVATESTREAM, mutexCurrentAudioTrack, cAudios::PlayAudio(), PlayAudio(), cVDRTtxtsubsHookListener::PlayerTeletextData(), PlaySubtitle(), PlayVideo(), pre_1_3_19_PrivateStream, SetAvailableTrack(), Setup, cThread::Start(), ttAudio, ttDolby, ttNone, ttSubtitle, and cSetup::UseDolbyDigital.
Referenced by PlayPes().
virtual int cDevice::PlayPesPacket | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [protected, virtual] |
Plays the single PES packet in Data with the given Length.
If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data must point to one single, complete PES packet.
virtual int cDevice::PlaySubtitle | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as a subtitle.
Data points to exactly one complete PES packet of the given Length. PlaySubtitle() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
int cDevice::PlaySubtitle | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as a subtitle.
Data points to exactly one complete PES packet of the given Length. PlaySubtitle() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Definition at line 1262 of file device.c.
References cDvbSubtitleConverter::ConvertFragments(), and dvbSubtitleConverter.
Referenced by PlayPesPacket().
int cDevice::PlayTs | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [virtual] |
Plays the given TS packet.
If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data points to a single TS packet, Length is always TS_SIZE (the total size of a single TS packet). If Data is NULL any leftover data from a previous call will be discarded. A derived device can reimplement this function to handle the TS packets itself. Any packets the derived function can't handle must be sent to the base class function. This applies especially to the PAT/PMT packets. Returns -1 in case of error, otherwise the number of actually processed bytes is returned. PlayTs() shall process the TS packets either as a whole (returning n*TS_SIZE) or not at all, returning 0 or -1 and setting 'errno' accordingly).
Definition at line 1453 of file device.c.
References Audios, availableTracks, currentAudioTrack, currentSubtitleTrack, esyslog, cTsToPes::GetPes(), HasIBPTrickSpeed(), cVDRTtxtsubsHookListener::Hook(), isPlayingVideo, mutexCurrentAudioTrack, cPatPmtParser::ParsePat(), cPatPmtParser::ParsePmt(), patPmtParser, cVDRTtxtsubsHookListener::PlayerTeletextData(), cAudios::PlayTsAudio(), PlayTsAudio(), PlayTsSubtitle(), PlayTsVideo(), cPatPmtParser::PmtPid(), cPatPmtParser::Ppid(), cTsToPes::PutTs(), cTsToPes::Reset(), cPatPmtParser::TeletextSubtitlePages(), cPatPmtParser::TotalTeletextSubtitlePages(), cPatPmtParser::Tpid(), TS_SIZE, TS_SYNC_BYTE, TsHasPayload(), TsPayloadOffset(), TsPid(), tsToPesAudio, tsToPesSubtitle, tsToPesTeletext, tsToPesVideo, and cPatPmtParser::Vpid().
Referenced by Detach(), cPlayer::PlayTs(), and cLiveSubtitle::Receive().
virtual int cDevice::PlayTs | ( | const uchar * | Data, |
int | Length, | ||
bool | VideoOnly = false |
||
) | [virtual] |
Plays the given TS packet.
If VideoOnly is true, only the video will be displayed, which is necessary for trick modes like 'fast forward'. Data points to a single TS packet, Length is always TS_SIZE (the total size of a single TS packet). If Data is NULL any leftover data from a previous call will be discarded. A derived device can reimplement this function to handle the TS packets itself. Any packets the derived function can't handle must be sent to the base class function. This applies especially to the PAT/PMT packets. Returns -1 in case of error, otherwise the number of actually processed bytes is returned. PlayTs() shall process the TS packets either as a whole (returning n*TS_SIZE) or not at all, returning 0 or -1 and setting 'errno' accordingly).
virtual int cDevice::PlayTsAudio | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayAudio() with the resulting packet.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
int cDevice::PlayTsAudio | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayAudio() with the resulting packet.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1423 of file device.c.
References cTsToPes::GetPes(), PlayAudio(), cTsToPes::PutTs(), cTsToPes::Reset(), cTsToPes::SetRepeatLast(), and tsToPesAudio.
Referenced by PlayTs().
virtual int cDevice::PlayTsSubtitle | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as a subtitle.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsSubtitle() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and displays the resulting subtitle via the OSD.
int cDevice::PlayTsSubtitle | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as a subtitle.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsSubtitle() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and displays the resulting subtitle via the OSD.
Definition at line 1439 of file device.c.
References cDvbSubtitleConverter::Convert(), dvbSubtitleConverter, cTsToPes::GetPes(), cTsToPes::PutTs(), cTsToPes::Reset(), and tsToPesSubtitle.
Referenced by PlayTs().
int cDevice::PlayTsVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayVideo() with the resulting packet.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1404 of file device.c.
References cTsToPes::GetPes(), PlayVideo(), cTsToPes::PutTs(), cTsToPes::Reset(), cTsToPes::SetRepeatLast(), TsPayloadStart(), and tsToPesVideo.
Referenced by PlayTs().
virtual int cDevice::PlayTsVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayVideo() with the resulting packet.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
int cDevice::PlayVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete PES packet of the given Length. PlayVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1252 of file device.c.
Referenced by PlayPesPacket(), and PlayTsVideo().
virtual int cDevice::PlayVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete PES packet of the given Length. PlayVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
bool cDevice::Poll | ( | cPoller & | Poller, |
int | TimeoutMs = 0 |
||
) | [virtual] |
Returns true if the device itself or any of the file handles in Poller is ready for further action.
If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case it can't accept any data.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1242 of file device.c.
Referenced by cPlayer::DevicePoll().
virtual bool cDevice::Poll | ( | cPoller & | Poller, |
int | TimeoutMs = 0 |
||
) | [virtual] |
Returns true if the device itself or any of the file handles in Poller is ready for further action.
If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case it can't accept any data.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
static cDevice* cDevice::PrimaryDevice | ( | void | ) | [inline, static] |
Returns the primary device.
Definition at line 132 of file include/vdr/device.h.
References primaryDevice.
static cDevice* cDevice::PrimaryDevice | ( | void | ) | [inline, static] |
Returns the primary device.
Definition at line 132 of file device.h.
References primaryDevice.
Referenced by cDvbSubtitleConverter::Action(), ActualDevice(), cControl::Attach(), cDisplaySubtitleTracks::cDisplaySubtitleTracks(), cDisplayTracks::cDisplayTracks(), cDisplayVolume::cDisplayVolume(), cSVDRP::CmdCHAN(), cSVDRP::CmdDELC(), cSVDRP::CmdGRAB(), cSVDRP::CmdMOVC(), cSVDRP::CmdVOLU(), cDisplayTracks::Create(), cDisplaySubtitleTracks::Create(), cRecordControl::cRecordControl(), cMenuChannels::Delete(), cSkinSTTNGDisplayChannel::Flush(), main(), cMenuChannels::Move(), cPatPmtParser::ParsePmt(), Priority(), cEITScanner::Process(), cDisplayVolume::ProcessKey(), cDisplayTracks::ProcessKey(), cDisplaySubtitleTracks::ProcessKey(), cMenuSetupDVB::ProcessKey(), cLiveSubtitle::Receive(), cMenuRecordings::Rewind(), cDvbTuner::SetChannel(), cDvbSubtitleConverter::SetOsdData(), SetTrackDescriptions(), cDisplayVolume::Show(), cMenuChannels::Switch(), cMenuWhatsOn::Switch(), SwitchChannel(), cChannels::SwitchTo(), Transferring(), and cOsdProvider::UpdateOsdSize().
int cDevice::Priority | ( | void | ) | const |
Returns the priority of the current receiving session (-MAXPRIORITY..MAXPRIORITY), or IDLEPRIORITY if no receiver is currently active.
Definition at line 1534 of file device.c.
References ActualDevice(), IDLEPRIORITY, IsPrimaryDevice(), max(), MAXRECEIVERS, mutexReceiver, PrimaryDevice(), receiver, Replaying(), and TRANSFERPRIORITY.
Referenced by GetDevice(), GetDeviceForTransponder(), cCamSlot::Priority(), and cDvbDevice::ProvidesChannel().
int cDevice::Priority | ( | void | ) | const |
Returns the priority of the current receiving session (-MAXPRIORITY..MAXPRIORITY), or IDLEPRIORITY if no receiver is currently active.
virtual bool cDevice::ProvidesChannel | ( | const cChannel * | Channel, |
int | Priority = IDLEPRIORITY , |
||
bool * | NeedsDetachReceivers = NULL |
||
) | const [virtual] |
Returns true if this device can provide the given channel.
In case the device has cReceivers attached to it, Priority is used to decide whether the caller's request can be honored. The special Priority value IDLEPRIORITY will tell the caller whether this device is principally able to provide the given Channel, regardless of any attached cReceivers. If NeedsDetachReceivers is given, the resulting value in it will tell the caller whether or not it will have to detach any currently attached receivers from this device before calling SwitchChannel. Note that the return value in NeedsDetachReceivers is only meaningful if the function itself actually returns true. The default implementation always returns false, so a derived cDevice class that can provide channels must implement this function.
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::ProvidesChannel | ( | const cChannel * | Channel, |
int | Priority = IDLEPRIORITY , |
||
bool * | NeedsDetachReceivers = NULL |
||
) | const [virtual] |
Returns true if this device can provide the given channel.
In case the device has cReceivers attached to it, Priority is used to decide whether the caller's request can be honored. The special Priority value IDLEPRIORITY will tell the caller whether this device is principally able to provide the given Channel, regardless of any attached cReceivers. If NeedsDetachReceivers is given, the resulting value in it will tell the caller whether or not it will have to detach any currently attached receivers from this device before calling SwitchChannel. Note that the return value in NeedsDetachReceivers is only meaningful if the function itself actually returns true. The default implementation always returns false, so a derived cDevice class that can provide channels must implement this function.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 639 of file device.c.
Referenced by GetDevice().
virtual bool cDevice::ProvidesEIT | ( | void | ) | const [virtual] |
Returns true if this device provides EIT data and thus wants to be tuned to the channels it can receive regularly to update the data.
The default implementation returns false.
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::ProvidesEIT | ( | void | ) | const [virtual] |
Returns true if this device provides EIT data and thus wants to be tuned to the channels it can receive regularly to update the data.
The default implementation returns false.
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 644 of file device.c.
Referenced by cEITScanner::Process().
virtual bool cDevice::ProvidesSource | ( | int | Source | ) | const [virtual] |
Returns true if this device can provide the given source.
Reimplemented in cDvbDevice, cDvbDevice, and cDvbSdFfDevice.
bool cDevice::ProvidesSource | ( | int | Source | ) | const [virtual] |
Returns true if this device can provide the given source.
Reimplemented in cDvbDevice, cDvbDevice, and cDvbSdFfDevice.
Definition at line 609 of file device.c.
Referenced by cMenuSetupLNB::Setup().
virtual bool cDevice::ProvidesTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this device can provide the transponder of the given Channel (which implies that it can provide the Channel's source).
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::ProvidesTransponder | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this device can provide the transponder of the given Channel (which implies that it can provide the Channel's source).
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 625 of file device.c.
Referenced by main(), cEITScanner::Process(), and ProvidesTransponderExclusively().
bool cDevice::ProvidesTransponderExclusively | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this is the only device that is able to provide the given channel's transponder.
Definition at line 630 of file device.c.
References device, numDevices, and ProvidesTransponder().
Referenced by cEITScanner::Process().
virtual bool cDevice::ProvidesTransponderExclusively | ( | const cChannel * | Channel | ) | const [virtual] |
Returns true if this is the only device that is able to provide the given channel's transponder.
virtual bool cDevice::Ready | ( | void | ) | [protected, virtual] |
Returns true if this device is ready.
Devices with conditional access hardware may need some time until they are up and running. This function is called in a loop at startup until all devices are ready (see WaitForAllDevicesReady()).
Reimplemented in cDvbDevice, and cDvbDevice.
bool cDevice::Ready | ( | void | ) | [protected, virtual] |
Returns true if this device is ready.
Devices with conditional access hardware may need some time until they are up and running. This function is called in a loop at startup until all devices are ready (see WaitForAllDevicesReady()).
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 1547 of file device.c.
Referenced by WaitForAllDevicesReady().
bool cDevice::Receiving | ( | bool | Dummy = false | ) | const |
Returns true if we are currently receiving. The parameter has no meaning (for backwards compatibility only).
bool cDevice::Receiving | ( | bool | Dummy = false | ) | const |
Returns true if we are currently receiving. The parameter has no meaning (for backwards compatibility only).
Definition at line 1552 of file device.c.
References MAXRECEIVERS, mutexReceiver, and receiver.
Referenced by GetDevice(), MaySwitchTransponder(), cEITScanner::Process(), cDvbDevice::ProvidesChannel(), and cRcuRemote::Recording().
bool cDevice::Replaying | ( | void | ) | const |
Returns true if we are currently replaying.
bool cDevice::Replaying | ( | void | ) | const |
Returns true if we are currently replaying.
Definition at line 1185 of file device.c.
References player.
Referenced by cSVDRP::CmdDELC(), cSVDRP::CmdMOVC(), cMenuChannels::Delete(), HasProgramme(), main(), cMenuChannels::Move(), Priority(), and SetCurrentSubtitleTrack().
void cDevice::SetAudioChannel | ( | int | AudioChannel | ) |
Sets the audio channel to stereo (0), mono left (1) or mono right (2).
Any other values will be silently ignored.
void cDevice::SetAudioChannel | ( | int | AudioChannel | ) |
Sets the audio channel to stereo (0), mono left (1) or mono right (2).
Any other values will be silently ignored.
Definition at line 892 of file device.c.
References SetAudioChannelDevice().
Referenced by ClrAvailableTracks(), EnsureAudioTrack(), and cDisplayTracks::ProcessKey().
virtual void cDevice::SetAudioChannelDevice | ( | int | AudioChannel | ) | [protected, virtual] |
Sets the audio channel to stereo (0), mono left (1) or mono right (2).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
void cDevice::SetAudioChannelDevice | ( | int | AudioChannel | ) | [protected, virtual] |
Sets the audio channel to stereo (0), mono left (1) or mono right (2).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 849 of file device.c.
Referenced by SetAudioChannel().
void cDevice::SetAudioTrackDevice | ( | eTrackType | Type | ) | [protected, virtual] |
Sets the current audio track to the given value.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 861 of file device.c.
Referenced by SetCurrentAudioTrack().
virtual void cDevice::SetAudioTrackDevice | ( | eTrackType | Type | ) | [protected, virtual] |
Sets the current audio track to the given value.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
bool cDevice::SetAvailableTrack | ( | eTrackType | Type, |
int | Index, | ||
uint16_t | Id, | ||
const char * | Language = NULL , |
||
const char * | Description = NULL |
||
) |
Sets the track of the given Type and Index to the given values.
Type must be one of the basic eTrackType values, like ttAudio or ttDolby. Index tells which track of the given basic type is meant. If Id is 0 any existing id will be left untouched and only the given Language and Description will be set.
bool cDevice::SetAvailableTrack | ( | eTrackType | Type, |
int | Index, | ||
uint16_t | Id, | ||
const char * | Language = NULL , |
||
const char * | Description = NULL |
||
) |
Sets the track of the given Type and Index to the given values.
Type must be one of the basic eTrackType values, like ttAudio or ttDolby. Index tells which track of the given basic type is meant. If Id is 0 any existing id will be left untouched and only the given Language and Description will be set.
Definition at line 932 of file device.c.
References autoSelectPreferredSubtitleLanguage, availableTracks, currentAudioTrack, currentAudioTrackMissingCount, cThread::description, EnsureAudioTrack(), EnsureSubtitleTrack(), esyslog, tTrackId::id, IS_AUDIO_TRACK, IS_DOLBY_TRACK, IS_SUBTITLE_TRACK, NumAudioTracks(), strn0cpy(), ttAudio, ttDolby, ttSubtitle, and Utf8Strn0Cpy().
Referenced by cPlayer::DeviceSetAvailableTrack(), cPatPmtParser::ParsePmt(), PlayPesPacket(), SetChannel(), and SetTrackDescriptions().
void cDevice::SetCamSlot | ( | cCamSlot * | CamSlot | ) |
Sets the given CamSlot to be used with this device.
void cDevice::SetCamSlot | ( | cCamSlot * | CamSlot | ) |
Sets the given CamSlot to be used with this device.
Definition at line 348 of file device.c.
References camSlot, and CamSlot().
Referenced by cCamSlot::Assign().
eSetChannelResult cDevice::SetChannel | ( | const cChannel * | Channel, |
bool | LiveView | ||
) | [private] |
Sets the device to the given channel (general setup).
Definition at line 730 of file device.c.
References cCamSlot::AddChannel(), cChannel::Alang(), cChannel::Apid(), camSlot, CanReplay(), Channels, ClrAvailableTracks(), currentChannel, DELETENULL(), cChannel::Dlang(), cChannel::Dpid(), dvbSubtitleConverter, EnsureAudioTrack(), EnsureSubtitleTrack(), GetDevice(), IsPrimaryDevice(), cControl::Launch(), LIVEPRIORITY, liveSubtitle, cRwLock::Lock(), MAXAPIDS, MAXDPIDS, MAXSPIDS, cStatus::MsgChannelSwitch(), cChannel::Number(), scrFailed, scrNotAvailable, scrNoTransfer, scrOk, sectionHandler, SetAvailableTrack(), cSectionHandler::SetChannel(), SetChannel(), SetChannelDevice(), cSectionHandler::SetStatus(), Setup, cChannel::Slang(), cChannel::Spid(), cCamSlot::StartDecrypting(), StopReplay(), ttAudio, ttDolby, ttSubtitle, cRwLock::Unlock(), and cSetup::UseDolbyDigital.
Referenced by SetChannel(), and SwitchChannel().
eSetChannelResult cDevice::SetChannel | ( | const cChannel * | Channel, |
bool | LiveView | ||
) | [private] |
Sets the device to the given channel (general setup).
bool cDevice::SetChannelDevice | ( | const cChannel * | Channel, |
bool | LiveView | ||
) | [protected, virtual] |
Sets the device to the given channel (actual physical setup).
Reimplemented in cDvbDevice, cDvbDevice, cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 829 of file device.c.
Referenced by ForceTransferMode(), and SetChannel().
virtual bool cDevice::SetChannelDevice | ( | const cChannel * | Channel, |
bool | LiveView | ||
) | [protected, virtual] |
Sets the device to the given channel (actual physical setup).
Reimplemented in cDvbDevice, cDvbDevice, cDvbSdFfDevice, and cDvbHdFfDevice.
bool cDevice::SetCurrentAudioTrack | ( | eTrackType | Type | ) |
Sets the current audio track to the given Type.
Definition at line 986 of file device.c.
References currentAudioTrack, GetTrack(), IS_AUDIO_TRACK, IS_DOLBY_TRACK, mutexCurrentAudioTrack, player, cPlayer::SetAudioTrack(), SetAudioTrackDevice(), SetDigitalAudioDevice(), ttDolbyLast, and ttNone.
Referenced by cPlayer::DeviceSetCurrentAudioTrack(), EnsureAudioTrack(), and cDisplayTracks::ProcessKey().
bool cDevice::SetCurrentAudioTrack | ( | eTrackType | Type | ) |
Sets the current audio track to the given Type.
static void cDevice::SetCurrentChannel | ( | const cChannel * | Channel | ) | [inline, static] |
Sets the number of the current channel on the primary device, without actually switching to it.
This can be used to correct the current channel number while replaying.
Definition at line 309 of file include/vdr/device.h.
References currentChannel, and cChannel::Number().
static void cDevice::SetCurrentChannel | ( | const cChannel * | Channel | ) | [inline, static] |
Sets the number of the current channel on the primary device, without actually switching to it.
This can be used to correct the current channel number while replaying.
Definition at line 309 of file device.h.
References currentChannel, and cChannel::Number().
Referenced by cSVDRP::CmdDELC(), cSVDRP::CmdMOVC(), cMenuChannels::Delete(), and cMenuChannels::Move().
bool cDevice::SetCurrentSubtitleTrack | ( | eTrackType | Type, |
bool | Manual = false |
||
) |
Sets the current subtitle track to the given Type.
IF Manual is true, no automatic preferred subtitle language selection will be done for the rest of the current replay session, or until the channel is changed.
Definition at line 1004 of file device.c.
References AttachReceiver(), autoSelectPreferredSubtitleLanguage, cLiveSubtitle, currentSubtitleTrack, DELETENULL(), dvbSubtitleConverter, GetTrack(), tTrackId::id, IS_SUBTITLE_TRACK, liveSubtitle, mutexCurrentSubtitleTrack, player, Replaying(), cDvbSubtitleConverter::Reset(), cPlayer::SetSubtitleTrack(), SetSubtitleTrackDevice(), Transferring(), and ttNone.
Referenced by cPlayer::DeviceSetCurrentSubtitleTrack(), EnsureSubtitleTrack(), and cDisplaySubtitleTracks::ProcessKey().
bool cDevice::SetCurrentSubtitleTrack | ( | eTrackType | Type, |
bool | Manual = false |
||
) |
Sets the current subtitle track to the given Type.
IF Manual is true, no automatic preferred subtitle language selection will be done for the rest of the current replay session, or until the channel is changed.
virtual void cDevice::SetDigitalAudioDevice | ( | bool | On | ) | [protected, virtual] |
Tells the actual device that digital audio output shall be switched on or off.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
void cDevice::SetDigitalAudioDevice | ( | bool | On | ) | [protected, virtual] |
Tells the actual device that digital audio output shall be switched on or off.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 857 of file device.c.
Referenced by SetCurrentAudioTrack().
void cDevice::SetOccupied | ( | int | Seconds | ) |
Sets the occupied timeout for this device to the given number of Seconds, This can be used to tune a device to a particular transponder and make sure it will stay there for a certain amount of time, for instance to collect EPG data.
This function shall only be called after the device has been successfully tuned to the requested transponder. Seconds will be silently limited to MAXOCCUPIEDTIMEOUT. Values less than 0 will be silently ignored.
void cDevice::SetOccupied | ( | int | Seconds | ) |
Sets the occupied timeout for this device to the given number of Seconds, This can be used to tune a device to a particular transponder and make sure it will stay there for a certain amount of time, for instance to collect EPG data.
This function shall only be called after the device has been successfully tuned to the requested transponder. Seconds will be silently limited to MAXOCCUPIEDTIMEOUT. Values less than 0 will be silently ignored.
Definition at line 823 of file device.c.
References MAXOCCUPIEDTIMEOUT, min(), and occupiedTimeout.
Referenced by main().
virtual bool cDevice::SetPid | ( | cPidHandle * | Handle, |
int | Type, | ||
bool | On | ||
) | [protected, virtual] |
Does the actual PID setting on this device.
On indicates whether the PID shall be added or deleted. Handle->handle can be used by the device to store information it needs to receive this PID (for instance a file handle). Handle->used indicates how many receivers are using this PID. Type indicates some special types of PIDs, which the device may need to set in a specific way.
Reimplemented in cDvbDevice, cDvbDevice, cDvbSdFfDevice, and cDvbHdFfDevice.
bool cDevice::SetPid | ( | cPidHandle * | Handle, |
int | Type, | ||
bool | On | ||
) | [protected, virtual] |
Does the actual PID setting on this device.
On indicates whether the PID shall be added or deleted. Handle->handle can be used by the device to store information it needs to receive this PID (for instance a file handle). Handle->used indicates how many receivers are using this PID. Type indicates some special types of PIDs, which the device may need to set in a specific way.
Reimplemented in cDvbDevice, cDvbDevice, cDvbSdFfDevice, and cDvbHdFfDevice.
virtual bool cDevice::SetPlayMode | ( | ePlayMode | PlayMode | ) | [protected, virtual] |
Sets the device into the given play mode.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
bool cDevice::SetPlayMode | ( | ePlayMode | PlayMode | ) | [protected, virtual] |
Sets the device into the given play mode.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1088 of file device.c.
Referenced by AttachPlayer(), and Detach().
static bool cDevice::SetPrimaryDevice | ( | int | n | ) | [static] |
Sets the primary device to 'n'.
n | must be in the range 1...numDevices. |
bool cDevice::SetPrimaryDevice | ( | int | n | ) | [static] |
Sets the primary device to 'n'.
n | must be in the range 1...numDevices. |
Definition at line 179 of file device.c.
References cSetup::CurrentVolume, device, esyslog, isyslog, MakePrimaryDevice(), numDevices, primaryDevice, Setup, SetVideoFormat(), SetVolumeDevice(), and cSetup::VideoFormat.
Referenced by main().
void cDevice::SetSubtitleTrackDevice | ( | eTrackType | Type | ) | [protected, virtual] |
Sets the current subtitle track to the given value.
Definition at line 865 of file device.c.
Referenced by SetCurrentSubtitleTrack().
virtual void cDevice::SetSubtitleTrackDevice | ( | eTrackType | Type | ) | [protected, virtual] |
Sets the current subtitle track to the given value.
static void cDevice::SetUseDevice | ( | int | n | ) | [static] |
Sets the 'useDevice' flag of the given device.
If this function is not called before initializing, all devices will be used.
void cDevice::SetUseDevice | ( | int | n | ) | [static] |
Sets the 'useDevice' flag of the given device.
If this function is not called before initializing, all devices will be used.
Definition at line 139 of file device.c.
References MAXDEVICES, and useDevice.
Referenced by main().
void cDevice::SetVideoDisplayFormat | ( | eVideoDisplayFormat | VideoDisplayFormat | ) | [virtual] |
Sets the video display format to the given one (only useful if this device has an MPEG decoder).
A derived class must first call the base class function!
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 395 of file device.c.
References cSpuDecoder::eSpuLetterBox, cSpuDecoder::eSpuNormal, cSpuDecoder::eSpuPanAndScan, esyslog, GetSpuDecoder(), cSpuDecoder::setScaleMode(), Setup, vdfCenterCutOut, vdfLetterBox, vdfPanAndScan, and cSetup::VideoFormat.
Referenced by Detach(), cPlayer::DeviceSetVideoDisplayFormat(), and cMenuSetupDVB::ProcessKey().
virtual void cDevice::SetVideoDisplayFormat | ( | eVideoDisplayFormat | VideoDisplayFormat | ) | [virtual] |
Sets the video display format to the given one (only useful if this device has an MPEG decoder).
A derived class must first call the base class function!
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
virtual void cDevice::SetVideoFormat | ( | bool | VideoFormat16_9 | ) | [virtual] |
Sets the output video format to either 16:9 or 4:3 (only useful if this device has an MPEG decoder).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
void cDevice::SetVideoFormat | ( | bool | VideoFormat16_9 | ) | [virtual] |
Sets the output video format to either 16:9 or 4:3 (only useful if this device has an MPEG decoder).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 418 of file device.c.
Referenced by cMenuSetupDVB::ProcessKey(), and SetPrimaryDevice().
void cDevice::SetVolume | ( | int | Volume, |
bool | Absolute = false |
||
) |
Sets the volume to the given value, either absolutely or relative to the current volume.
void cDevice::SetVolume | ( | int | Volume, |
bool | Absolute = false |
||
) |
Sets the volume to the given value, either absolutely or relative to the current volume.
Definition at line 898 of file device.c.
References Audios, constrain(), MAXVOLUME, cStatus::MsgSetVolume(), mute, cAudios::MuteAudio(), SetVolumeDevice(), and volume.
Referenced by cSVDRP::CmdVOLU(), main(), and ToggleMute().
virtual void cDevice::SetVolumeDevice | ( | int | Volume | ) | [protected, virtual] |
Sets the audio volume on this device (Volume = 0...255).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
void cDevice::SetVolumeDevice | ( | int | Volume | ) | [protected, virtual] |
Sets the audio volume on this device (Volume = 0...255).
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 853 of file device.c.
Referenced by SetPrimaryDevice(), and SetVolume().
static void cDevice::Shutdown | ( | void | ) | [static] |
Closes down all devices.
Must be called at the end of the program.
void cDevice::Shutdown | ( | void | ) | [static] |
Closes down all devices.
Must be called at the end of the program.
Definition at line 353 of file device.c.
References cListBase::Clear(), device, deviceHooks, numDevices, and primaryDevice.
Referenced by main(), StopReplay(), and SwitchChannel().
int cDevice::SignalQuality | ( | void | ) | const [virtual] |
Returns the "quality" of the currently received signal.
This is a value in the range 0 (worst quality) through 100 (best possible quality). A value of -1 indicates that this device has no concept of a "signal quality".
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 659 of file device.c.
Referenced by cSkinSTTNGDisplayChannel::Flush().
virtual int cDevice::SignalQuality | ( | void | ) | const [virtual] |
Returns the "quality" of the currently received signal.
This is a value in the range 0 (worst quality) through 100 (best possible quality). A value of -1 indicates that this device has no concept of a "signal quality".
Reimplemented in cDvbDevice, and cDvbDevice.
int cDevice::SignalStrength | ( | void | ) | const [virtual] |
Returns the "strength" of the currently received signal.
This is a value in the range 0 (no signal at all) through 100 (best possible signal). A value of -1 indicates that this device has no concept of a "signal strength".
Reimplemented in cDvbDevice, and cDvbDevice.
Definition at line 654 of file device.c.
Referenced by cSkinSTTNGDisplayChannel::Flush().
virtual int cDevice::SignalStrength | ( | void | ) | const [virtual] |
Returns the "strength" of the currently received signal.
This is a value in the range 0 (no signal at all) through 100 (best possible signal). A value of -1 indicates that this device has no concept of a "signal strength".
Reimplemented in cDvbDevice, and cDvbDevice.
void cDevice::StartSectionHandler | ( | void | ) | [protected] |
A derived device that provides section data must call this function (typically in its constructor) to actually set up the section handler.
void cDevice::StartSectionHandler | ( | void | ) | [protected] |
A derived device that provides section data must call this function (typically in its constructor) to actually set up the section handler.
Definition at line 560 of file device.c.
References AttachFilter(), eitFilter, nitFilter, patFilter, sdtFilter, and sectionHandler.
Referenced by cDvbDevice::cDvbDevice().
void cDevice::StillPicture | ( | const uchar * | Data, |
int | Length | ||
) | [virtual] |
Displays the given I-frame as a still picture.
Data points either to TS (first byte is 0x47) or PES (first byte is 0x00) data of the given Length. The default implementation converts TS to PES and calls itself again, allowing a derived class to display PES if it can't handle TS directly.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1128 of file device.c.
References esyslog, cTsToPes::GetPes(), LOG_ERROR_STR, cPatPmtParser::ParsePat(), cPatPmtParser::ParsePmt(), patPmtParser, cPatPmtParser::PmtPid(), cTsToPes::PutTs(), cTsToPes::Reset(), TS_SIZE, TsPayloadStart(), TsPid(), and cPatPmtParser::Vpid().
Referenced by cPlayer::DeviceStillPicture().
virtual void cDevice::StillPicture | ( | const uchar * | Data, |
int | Length | ||
) | [virtual] |
Displays the given I-frame as a still picture.
Data points either to TS (first byte is 0x47) or PES (first byte is 0x00) data of the given Length. The default implementation converts TS to PES and calls itself again, allowing a derived class to display PES if it can't handle TS directly.
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
void cDevice::StopReplay | ( | void | ) |
Stops the current replay session (if any).
void cDevice::StopReplay | ( | void | ) |
Stops the current replay session (if any).
Definition at line 1233 of file device.c.
References Detach(), IsPrimaryDevice(), player, and Shutdown().
Referenced by main(), cEITScanner::Process(), cMenuRecordings::Rewind(), and SetChannel().
void cDevice::StopSectionHandler | ( | void | ) | [protected] |
A device that has called StartSectionHandler() must call this function (typically in its destructor) to stop the section handler.
void cDevice::StopSectionHandler | ( | void | ) | [protected] |
A device that has called StartSectionHandler() must call this function (typically in its destructor) to stop the section handler.
Definition at line 571 of file device.c.
References eitFilter, nitFilter, patFilter, sdtFilter, and sectionHandler.
Referenced by cDvbDevice::~cDvbDevice().
bool cDevice::SwitchChannel | ( | const cChannel * | Channel, |
bool | LiveView | ||
) |
Switches the device to the given Channel, initiating transfer mode if necessary.
Definition at line 679 of file device.c.
References esyslog, isyslog, cSkins::Message(), mtError, mtInfo, cChannel::Number(), scrFailed, scrNotAvailable, scrNoTransfer, scrOk, SetChannel(), Shutdown(), Skins, and tr.
Referenced by cSVDRP::CmdCHAN(), main(), cEITScanner::Process(), cRecordControls::Start(), cMenuChannels::Switch(), cMenuWhatsOn::Switch(), SwitchChannel(), and cChannels::SwitchTo().
bool cDevice::SwitchChannel | ( | const cChannel * | Channel, |
bool | LiveView | ||
) |
Switches the device to the given Channel, initiating transfer mode if necessary.
static bool cDevice::SwitchChannel | ( | int | Direction | ) | [static] |
Switches the primary device to the next available channel in the given Direction (only the sign of Direction is evaluated, positive values switch to higher channel numbers).
bool cDevice::SwitchChannel | ( | int | Direction | ) | [static] |
Switches the primary device to the next available channel in the given Direction (only the sign of Direction is evaluated, positive values switch to higher channel numbers).
Definition at line 700 of file device.c.
References Channels, CurrentChannel(), dsyslog, cChannels::GetByNumber(), GetDevice(), LIVEPRIORITY, cSkins::Message(), mtError, cChannel::Number(), PrimaryDevice(), sgn(), Shutdown(), Skins, SwitchChannel(), and tr.
bool cDevice::ToggleMute | ( | void | ) |
Turns the volume off or on and returns the new mute state.
Definition at line 869 of file device.c.
References Audios, mute, cAudios::MuteAudio(), SetVolume(), and volume.
Referenced by cSVDRP::CmdVOLU(), and main().
bool cDevice::ToggleMute | ( | void | ) |
Turns the volume off or on and returns the new mute state.
bool cDevice::Transferring | ( | void | ) | const |
Returns true if we are currently in Transfer Mode.
bool cDevice::Transferring | ( | void | ) | const |
Returns true if we are currently in Transfer Mode.
Definition at line 1190 of file device.c.
References ActualDevice(), and PrimaryDevice().
Referenced by AttachPlayer(), cSVDRP::CmdDELC(), cSVDRP::CmdMOVC(), cMenuChannels::Delete(), main(), cMenuChannels::Move(), SetCurrentSubtitleTrack(), and cDvbHdFfDevice::SetPlayMode().
virtual void cDevice::TrickSpeed | ( | int | Speed | ) | [virtual] |
Sets the device into a mode where replay is done slower.
Every single frame shall then be displayed the given number of times. The cDvbPlayer uses the following values for the various speeds: 1x 2x 3x Fast Forward 6 3 1 Fast Reverse 6 3 1 Slow Forward 8 4 2 Slow Reverse 63 48 24
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
void cDevice::TrickSpeed | ( | int | Speed | ) | [virtual] |
Sets the device into a mode where replay is done slower.
Every single frame shall then be displayed the given number of times. The cDvbPlayer uses the following values for the various speeds: 1x 2x 3x Fast Forward 6 3 1 Fast Reverse 6 3 1 Slow Forward 8 4 2 Slow Reverse 63 48 24
Reimplemented in cDvbHdFfDevice, and cDvbSdFfDevice.
Definition at line 1098 of file device.c.
Referenced by cPlayer::DeviceTrickSpeed().
static bool cDevice::UseDevice | ( | int | n | ) | [inline, static] |
Tells whether the device with the given card index shall be used in this instance of VDR.
Definition at line 125 of file device.h.
References useDevice.
Referenced by cDvbDevice::Initialize().
static bool cDevice::UseDevice | ( | int | n | ) | [inline, static] |
Tells whether the device with the given card index shall be used in this instance of VDR.
Definition at line 125 of file include/vdr/device.h.
References useDevice.
static bool cDevice::WaitForAllDevicesReady | ( | int | Timeout = 0 | ) | [static] |
Waits until all devices have become ready, or the given Timeout (seconds) has expired.
While waiting, the Ready() function of each device is called in turn, until they all return true.
bool cDevice::WaitForAllDevicesReady | ( | int | Timeout = 0 | ) | [static] |
Waits until all devices have become ready, or the given Timeout (seconds) has expired.
While waiting, the Ready() function of each device is called in turn, until they all return true.
Definition at line 123 of file device.c.
References device, numDevices, Ready(), and cCondWait::SleepMs().
Referenced by main().
cDeviceHook [friend] |
cLiveSubtitle [friend] |
Definition at line 105 of file device.h.
Referenced by SetCurrentSubtitleTrack().
bool cDevice::autoSelectPreferredSubtitleLanguage [private] |
Definition at line 476 of file device.h.
Referenced by cDevice(), SetAvailableTrack(), and SetCurrentSubtitleTrack().
tTrackId cDevice::availableTracks [private] |
Definition at line 470 of file device.h.
Referenced by ClrAvailableTracks(), EnsureAudioTrack(), GetTrack(), NumTracks(), PlayPesPacket(), PlayTs(), and SetAvailableTrack().
cCamSlot * cDevice::camSlot [private] |
Definition at line 404 of file device.h.
Referenced by AddPid(), AttachReceiver(), CamSlot(), cDevice(), DelPid(), Detach(), SetCamSlot(), and SetChannel().
int cDevice::cardIndex [private] |
Definition at line 170 of file device.h.
Referenced by CardIndex(), and cDevice().
eTrackType cDevice::currentAudioTrack [private] |
Definition at line 471 of file device.h.
Referenced by cDevice(), ClrAvailableTracks(), EnsureAudioTrack(), GetCurrentAudioTrack(), PlayPesPacket(), PlayTs(), SetAvailableTrack(), and SetCurrentAudioTrack().
int cDevice::currentAudioTrackMissingCount [private] |
Definition at line 475 of file device.h.
Referenced by cDevice(), ClrAvailableTracks(), and SetAvailableTrack().
static int cDevice::currentChannel = 1 [static, protected] |
Definition at line 235 of file device.h.
Referenced by CurrentChannel(), SetChannel(), and SetCurrentChannel().
eTrackType cDevice::currentSubtitleTrack [private] |
Definition at line 472 of file device.h.
Referenced by cDevice(), ClrAvailableTracks(), GetCurrentSubtitleTrack(), PlayPesPacket(), PlayTs(), and SetCurrentSubtitleTrack().
static cDevice * cDevice::device = { NULL } [static, private] |
Definition at line 110 of file device.h.
Referenced by cDevice(), DeviceNumber(), GetDevice(), cDvbHdFfDevice::GetHdffCmdHandler(), ProvidesTransponderExclusively(), SetPrimaryDevice(), Shutdown(), and WaitForAllDevicesReady().
static cList< cDeviceHook > cDevice::deviceHooks [static, private] |
Definition at line 216 of file device.h.
Referenced by cDeviceHook::cDeviceHook(), DeviceHooksProvidesTransponder(), and Shutdown().
cDvbSubtitleConverter * cDevice::dvbSubtitleConverter [private] |
Definition at line 224 of file device.h.
Referenced by AttachPlayer(), cDevice(), Clear(), Detach(), Freeze(), MakePrimaryDevice(), Play(), PlayPes(), PlaySubtitle(), PlayTsSubtitle(), SetChannel(), SetCurrentSubtitleTrack(), and ~cDevice().
cEitFilter * cDevice::eitFilter [private] |
Definition at line 372 of file device.h.
Referenced by cDevice(), StartSectionHandler(), and StopSectionHandler().
bool cDevice::isPlayingVideo [private] |
Definition at line 567 of file device.h.
Referenced by cDevice(), Detach(), IsPlayingVideo(), PlayPesPacket(), and PlayTs().
cLiveSubtitle * cDevice::liveSubtitle [private] |
Definition at line 223 of file device.h.
Referenced by AttachPlayer(), cDevice(), MakePrimaryDevice(), SetChannel(), SetCurrentSubtitleTrack(), and ~cDevice().
bool cDevice::mute [private] |
Definition at line 530 of file device.h.
Referenced by cDevice(), IsMute(), Play(), SetVolume(), and ToggleMute().
cMutex cDevice::mutexCurrentAudioTrack [private] |
Definition at line 473 of file device.h.
Referenced by PlayPesPacket(), PlayTs(), and SetCurrentAudioTrack().
cMutex cDevice::mutexCurrentSubtitleTrack [private] |
Definition at line 474 of file device.h.
Referenced by Detach(), and SetCurrentSubtitleTrack().
cMutex cDevice::mutexReceiver [mutable, private] |
Definition at line 726 of file device.h.
Referenced by AttachReceiver(), Detach(), DetachAll(), DetachAllReceivers(), Priority(), and Receiving().
static int cDevice::nextCardIndex = 0 [static, private] |
Definition at line 169 of file device.h.
Referenced by cDevice(), and NextCardIndex().
cNitFilter * cDevice::nitFilter [private] |
Definition at line 375 of file device.h.
Referenced by cDevice(), StartSectionHandler(), and StopSectionHandler().
static int cDevice::numDevices = 0 [static, private] |
Definition at line 108 of file device.h.
Referenced by cDevice(), DeviceNumber(), GetDevice(), NumDevices(), ProvidesTransponderExclusively(), SetPrimaryDevice(), Shutdown(), and WaitForAllDevicesReady().
time_t cDevice::occupiedTimeout [private] |
Definition at line 233 of file device.h.
Referenced by cDevice(), MaySwitchTransponder(), Occupied(), and SetOccupied().
cPatFilter * cDevice::patFilter [private] |
Definition at line 373 of file device.h.
Referenced by cDevice(), StartSectionHandler(), and StopSectionHandler().
cPatPmtParser cDevice::patPmtParser [private] |
Definition at line 562 of file device.h.
Referenced by AttachPlayer(), Detach(), PatPmtParser(), PlayTs(), and StillPicture().
cPidHandle cDevice::pidHandles [protected] |
Definition at line 349 of file device.h.
Referenced by AddPid(), DelLivePids(), DelPid(), HasPid(), HasProgramme(), MaySwitchTransponder(), cDvbHdFfDevice::SetAudioTrackDevice(), cDvbSdFfDevice::SetAudioTrackDevice(), cDvbHdFfDevice::SetChannelDevice(), cDvbSdFfDevice::SetChannelDevice(), cDvbHdFfDevice::TurnOffLiveMode(), and cDvbSdFfDevice::TurnOffLiveMode().
cPlayer * cDevice::player [private] |
Definition at line 561 of file device.h.
Referenced by AttachPlayer(), cDevice(), Detach(), Replaying(), SetCurrentAudioTrack(), SetCurrentSubtitleTrack(), StopReplay(), and ~cDevice().
int cDevice::pre_1_3_19_PrivateStream [private] |
Definition at line 477 of file device.h.
Referenced by ClrAvailableTracks(), and PlayPesPacket().
static cDevice * cDevice::primaryDevice = NULL [static, private] |
Definition at line 111 of file device.h.
Referenced by CurrentChannel(), CurrentVolume(), IsPrimaryDevice(), PrimaryDevice(), SetPrimaryDevice(), and Shutdown().
cReceiver * cDevice::receiver [private] |
Definition at line 727 of file device.h.
Referenced by Action(), AttachReceiver(), cDevice(), Detach(), DetachAll(), DetachAllReceivers(), Priority(), and Receiving().
cSdtFilter * cDevice::sdtFilter [private] |
Definition at line 374 of file device.h.
Referenced by cDevice(), StartSectionHandler(), and StopSectionHandler().
cSectionHandler * cDevice::sectionHandler [private] |
Definition at line 371 of file device.h.
Referenced by AttachFilter(), cDevice(), Detach(), SetChannel(), StartSectionHandler(), and StopSectionHandler().
time_t cDevice::startScrambleDetection [private] |
Definition at line 403 of file device.h.
Referenced by Action(), AttachReceiver(), and cDevice().
cTsToPes cDevice::tsToPesAudio [private] |
Definition at line 564 of file device.h.
Referenced by PlayTs(), and PlayTsAudio().
cTsToPes cDevice::tsToPesSubtitle [private] |
Definition at line 565 of file device.h.
Referenced by PlayTs(), and PlayTsSubtitle().
cTsToPes cDevice::tsToPesTeletext [private] |
cTsToPes cDevice::tsToPesVideo [private] |
Definition at line 563 of file device.h.
Referenced by PlayTs(), and PlayTsVideo().
static int cDevice::useDevice = 0 [static, private] |
Definition at line 109 of file device.h.
Referenced by SetUseDevice(), and UseDevice().
int cDevice::volume [private] |
Definition at line 531 of file device.h.
Referenced by cDevice(), CurrentVolume(), SetVolume(), and ToggleMute().