vdr
1.7.31
|
#include <dvbdevice.h>
Public Member Functions | |
cDvbDevice (int Adapter, int Frontend) | |
virtual | ~cDvbDevice () |
int | Adapter (void) const |
int | Frontend (void) const |
virtual bool | Ready (void) |
virtual cString | DeviceType (void) const |
virtual cString | DeviceName (void) const |
bool | Bond (cDvbDevice *Device) |
void | UnBond (void) |
bool | BondingOk (const cChannel *Channel, bool ConsiderOccupied=false) const |
virtual bool | ProvidesDeliverySystem (int DeliverySystem) const |
virtual bool | ProvidesSource (int Source) const |
virtual bool | ProvidesTransponder (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 |
virtual bool | HasLock (int TimeoutMs=0) |
virtual bool | HasCi (void) |
cDvbDevice (int Adapter, int Frontend) | |
virtual | ~cDvbDevice () |
int | Adapter (void) const |
int | Frontend (void) const |
virtual bool | Ready (void) |
virtual cString | DeviceType (void) const |
virtual cString | DeviceName (void) const |
bool | Bond (cDvbDevice *Device) |
void | UnBond (void) |
bool | BondingOk (const cChannel *Channel, bool ConsiderOccupied=false) const |
virtual bool | ProvidesDeliverySystem (int DeliverySystem) const |
virtual bool | ProvidesSource (int Source) const |
virtual bool | ProvidesTransponder (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 |
virtual bool | HasLock (int TimeoutMs=0) |
virtual bool | HasCi (void) |
![]() | |
bool | IsPrimaryDevice (void) const |
int | CardIndex (void) const |
int | DeviceNumber (void) const |
virtual bool | HasDecoder (void) const |
virtual bool | AvoidRecording (void) const |
virtual cSpuDecoder * | GetSpuDecoder (void) |
virtual bool | ProvidesTransponderExclusively (const cChannel *Channel) const |
bool | SwitchChannel (const cChannel *Channel, bool LiveView) |
void | ForceTransferMode (void) |
int | Occupied (void) const |
void | SetOccupied (int Seconds) |
virtual bool | HasProgramme (void) |
void | DelLivePids (void) |
virtual int | ReadFilter (int Handle, void *Buffer, size_t Length) |
void | AttachFilter (cFilter *Filter) |
void | Detach (cFilter *Filter) |
virtual bool | HasInternalCam (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) |
bool | IsPrimaryDevice (void) const |
int | CardIndex (void) const |
int | DeviceNumber (void) const |
virtual bool | HasDecoder (void) const |
virtual bool | AvoidRecording (void) const |
virtual cSpuDecoder * | GetSpuDecoder (void) |
virtual bool | ProvidesTransponderExclusively (const cChannel *Channel) const |
bool | SwitchChannel (const cChannel *Channel, bool LiveView) |
void | ForceTransferMode (void) |
int | Occupied (void) const |
void | SetOccupied (int Seconds) |
virtual bool | HasProgramme (void) |
void | DelLivePids (void) |
virtual int | ReadFilter (int Handle, void *Buffer, size_t Length) |
void | AttachFilter (cFilter *Filter) |
void | Detach (cFilter *Filter) |
virtual bool | HasInternalCam (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) |
![]() | |
cThread (const char *Description=NULL) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
cThread (const char *Description=NULL) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
Static Public Member Functions | |
static bool | Initialize (void) |
static bool | BondDevices (const char *Bondings) |
static void | UnBondDevices (void) |
static void | SetTransferModeForDolbyDigital (int Mode) |
static bool | Initialize (void) |
static bool | BondDevices (const char *Bondings) |
static void | UnBondDevices (void) |
static void | SetTransferModeForDolbyDigital (int Mode) |
![]() | |
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) |
![]() | |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
Protected Member Functions | |
virtual bool | SetChannelDevice (const cChannel *Channel, bool LiveView) |
virtual bool | SetPid (cPidHandle *Handle, int Type, bool On) |
virtual int | OpenFilter (u_short Pid, u_char Tid, u_char Mask) |
virtual void | CloseFilter (int Handle) |
virtual bool | OpenDvr (void) |
virtual void | CloseDvr (void) |
virtual bool | GetTSPacket (uchar *&Data) |
virtual void | DetachAllReceivers (void) |
virtual bool | SetChannelDevice (const cChannel *Channel, bool LiveView) |
virtual bool | SetPid (cPidHandle *Handle, int Type, bool On) |
virtual int | OpenFilter (u_short Pid, u_char Tid, u_char Mask) |
virtual void | CloseFilter (int Handle) |
virtual bool | OpenDvr (void) |
virtual void | CloseDvr (void) |
virtual bool | GetTSPacket (uchar *&Data) |
virtual void | DetachAllReceivers (void) |
![]() | |
cDevice (void) | |
virtual | ~cDevice () |
virtual void | MakePrimaryDevice (bool On) |
bool | DeviceHooksProvidesTransponder (const cChannel *Channel) const |
bool | HasPid (int Pid) const |
bool | AddPid (int Pid, ePidType PidType=ptOther, int StreamType=0) |
void | DelPid (int Pid, ePidType PidType=ptOther) |
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) |
cDevice (void) | |
virtual | ~cDevice () |
virtual void | MakePrimaryDevice (bool On) |
bool | DeviceHooksProvidesTransponder (const cChannel *Channel) const |
bool | HasPid (int Pid) const |
bool | AddPid (int Pid, ePidType PidType=ptOther, int StreamType=0) |
void | DelPid (int Pid, ePidType PidType=ptOther) |
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) |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
virtual void | Action (void)=0 |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
virtual void | Action (void)=0 |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Static Protected Member Functions | |
static cString | DvbName (const char *Name, int Adapter, int Frontend) |
static int | DvbOpen (const char *Name, int Adapter, int Frontend, int Mode, bool ReportError=false) |
static cString | DvbName (const char *Name, int Adapter, int Frontend) |
static int | DvbOpen (const char *Name, int Adapter, int Frontend, int Mode, bool ReportError=false) |
![]() | |
static int | NextCardIndex (int n=0) |
static int | NextCardIndex (int n=0) |
Protected Attributes | |
int | adapter |
int | frontend |
![]() | |
cPidHandle | pidHandles [MAXPIDHANDLES] |
Static Protected Attributes | |
static int | setTransferModeForDolbyDigital = 1 |
![]() | |
static int | currentChannel = 1 |
Private Member Functions | |
bool | QueryDeliverySystems (int fd_frontend) |
bool | QueryDeliverySystems (int fd_frontend) |
Static Private Member Functions | |
static bool | Exists (int Adapter, int Frontend) |
static bool | Probe (int Adapter, int Frontend) |
static bool | Exists (int Adapter, int Frontend) |
static bool | Probe (int Adapter, int Frontend) |
Private Attributes | |
dvb_frontend_info | frontendInfo |
int | deliverySystems [MAXDELIVERYSYSTEMS] |
int | numDeliverySystems |
int | numModulations |
int | fd_dvr |
int | fd_ca |
cDvbDevice * | bondedDevice |
bool | needsDetachBondedReceivers |
cCiAdapter * | ciAdapter |
cDvbTuner * | dvbTuner |
cTSBuffer * | tsBuffer |
Static Private Attributes | |
static cMutex | bondMutex |
Additional Inherited Members | |
![]() | |
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 } |
The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API.
Definition at line 109 of file dvbdevice.h.
cDvbDevice::cDvbDevice | ( | int | Adapter, |
int | Frontend | ||
) |
Definition at line 986 of file dvbdevice.c.
References adapter, Adapter(), bondedDevice, ciAdapter, cDvbCiAdapter::CreateCiAdapter(), DEV_DVB_CA, DEV_DVB_FRONTEND, DvbOpen(), dvbTuner, esyslog, fd_ca, fd_dvr, frontend, Frontend(), needsDetachBondedReceivers, numDeliverySystems, numModulations, QueryDeliverySystems(), cDevice::StartSectionHandler(), and tsBuffer.
Referenced by Probe().
|
virtual |
Definition at line 1024 of file dvbdevice.c.
References ciAdapter, dvbTuner, cDevice::StopSectionHandler(), and UnBond().
cDvbDevice::cDvbDevice | ( | int | Adapter, |
int | Frontend | ||
) |
|
virtual |
|
inline |
Definition at line 138 of file dvbdevice.h.
References adapter.
Referenced by cDvbDevice(), and Initialize().
|
inline |
Definition at line 138 of file include/vdr/dvbdevice.h.
References adapter.
bool cDvbDevice::Bond | ( | cDvbDevice * | Device | ) |
Bonds this device with the given Device, making both of them use the same satellite cable and LNB.
Only DVB-S(2) devices can be bonded. When this function is called, the calling device must not be bonded to any other device. The given Device, however, may already be bonded to an other device. That way several devices can be bonded together. Returns true if the bonding was successful.
Definition at line 1273 of file dvbdevice.c.
References cDvbTuner::Bond(), bondedDevice, bondMutex, cDevice::CardIndex(), dsyslog, dvbTuner, esyslog, and ProvidesDeliverySystem().
bool cDvbDevice::Bond | ( | cDvbDevice * | Device | ) |
Bonds this device with the given Device, making both of them use the same satellite cable and LNB.
Only DVB-S(2) devices can be bonded. When this function is called, the calling device must not be bonded to any other device. The given Device, however, may already be bonded to an other device. That way several devices can be bonded together. Returns true if the bonding was successful.
|
static |
Bonds the devices as defined in the given Bondings string.
A bonding is a sequence of device numbers (starting at 1), separated by '+' characters. Several bondings are separated by commas, as in "1+2,3+4+5". Returns false if an error occurred.
|
static |
Bonds the devices as defined in the given Bondings string.
A bonding is a sequence of device numbers (starting at 1), separated by '+' characters. Several bondings are separated by commas, as in "1+2,3+4+5". Returns false if an error occurred.
Definition at line 1224 of file dvbdevice.c.
References esyslog, cSatCableNumbers::FirstDeviceIndex(), cDevice::GetDevice(), MAXDEVICES, cDevice::NumDevices(), and UnBondDevices().
Referenced by main(), and cMenuSetupLNB::ProcessKey().
bool cDvbDevice::BondingOk | ( | const cChannel * | Channel, |
bool | ConsiderOccupied = false |
||
) | const |
Returns true if this device is either not bonded to any other device, or the given Channel is on the same satellite, polarization and band as those the bonded devices are tuned to (if any).
If ConsiderOccupied is true, any bonded devices that are currently occupied but not otherwise receiving will cause this function to return false.
Definition at line 1314 of file dvbdevice.c.
References bondedDevice, cDvbTuner::BondingOk(), bondMutex, and dvbTuner.
Referenced by MaySwitchTransponder(), and ProvidesChannel().
bool cDvbDevice::BondingOk | ( | const cChannel * | Channel, |
bool | ConsiderOccupied = false |
||
) | const |
Returns true if this device is either not bonded to any other device, or the given Channel is on the same satellite, polarization and band as those the bonded devices are tuned to (if any).
If ConsiderOccupied is true, any bonded devices that are currently occupied but not otherwise receiving will cause this function to return false.
|
protectedvirtual |
|
protectedvirtual |
Shuts down the DVR.
Reimplemented from cDevice.
|
protectedvirtual |
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 from cDevice.
|
protectedvirtual |
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 from cDevice.
Definition at line 1391 of file dvbdevice.c.
|
protectedvirtual |
Detaches all receivers from this device.
Reimplemented from cDevice.
Definition at line 1566 of file dvbdevice.c.
References bondedDevice, bondMutex, and needsDetachBondedReceivers.
|
protectedvirtual |
Detaches all receivers from this device.
Reimplemented from cDevice.
|
virtual |
Returns a string identifying the name of this device.
The default implementation returns an empty string.
Reimplemented from cDevice.
Definition at line 1089 of file dvbdevice.c.
References frontendInfo.
|
virtual |
Returns a string identifying the name of this device.
The default implementation returns an empty string.
Reimplemented from cDevice.
|
virtual |
Returns a string identifying the type of this device (like "DVB-S").
If this device can receive different delivery systems, the returned string shall be that of the currently used system. The length of the returned string should not exceed 6 characters. The default implementation returns an empty string.
Reimplemented from cDevice.
Definition at line 1078 of file dvbdevice.c.
References DeliverySystemNames, deliverySystems, dvbTuner, cDvbTuner::FrontendType(), and numDeliverySystems.
|
virtual |
Returns a string identifying the type of this device (like "DVB-S").
If this device can receive different delivery systems, the returned string shall be that of the currently used system. The length of the returned string should not exceed 6 characters. The default implementation returns an empty string.
Reimplemented from cDevice.
|
staticprotected |
|
staticprotected |
Definition at line 1034 of file dvbdevice.c.
References DEV_DVB_ADAPTER, DEV_DVB_BASE, and cString::sprintf().
Referenced by DvbOpen(), Exists(), OpenFilter(), and Probe().
|
staticprotected |
|
staticprotected |
Definition at line 1039 of file dvbdevice.c.
References DvbName(), and LOG_ERROR_STR.
Referenced by cDvbDevice(), cDvbHdFfDevice::cDvbHdFfDevice(), cDvbSdFfDevice::cDvbSdFfDevice(), OpenDvr(), cDvbHdFfDevice::SetPid(), cDvbSdFfDevice::SetPid(), SetPid(), and cDvbSdFfDevice::SetPlayMode().
|
staticprivate |
Checks whether the given adapter/frontend exists.
|
staticprivate |
Checks whether the given adapter/frontend exists.
Definition at line 1048 of file dvbdevice.c.
References DEV_DVB_FRONTEND, DvbName(), and LOG_ERROR_STR.
Referenced by Initialize().
|
inline |
Definition at line 139 of file dvbdevice.h.
References frontend.
Referenced by cDvbDevice(), Initialize(), and QueryDeliverySystems().
|
inline |
Definition at line 139 of file include/vdr/dvbdevice.h.
References frontend.
|
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 from cDevice.
Definition at line 1506 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::GetTransponder().
|
virtual |
|
protectedvirtual |
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 from cDevice.
Definition at line 1557 of file dvbdevice.c.
References cTSBuffer::Get(), and tsBuffer.
|
protectedvirtual |
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 from cDevice.
|
virtual |
Returns true if this device has a Common Interface.
Reimplemented from cDevice.
Definition at line 1322 of file dvbdevice.c.
References ciAdapter.
|
virtual |
Returns true if this device has a Common Interface.
Reimplemented from cDevice.
|
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 from cDevice.
|
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 from cDevice.
Definition at line 1528 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::Locked().
|
static |
Initializes the DVB devices.
Must be called before accessing any DVB functions.
Definition at line 1094 of file dvbdevice.c.
References Adapter(), AddDirectory(), cVector< T >::Append(), DEV_DVB_ADAPTER, DEV_DVB_BASE, DEV_DVB_FRONTEND, Exists(), Frontend(), isyslog, MAXDVBDEVICES, cReadDir::Next(), cDevice::NextCardIndex(), cReadDir::Ok(), Probe(), cVector< T >::Size(), cStringList::Sort(), cString::sprintf(), and cDevice::UseDevice().
Referenced by main().
|
static |
Initializes the DVB devices.
Must be called before accessing any DVB functions.
|
virtual |
Returns true if this device is currently tuned to the given Channel's transponder.
Reimplemented from cDevice.
|
virtual |
Returns true if this device is currently tuned to the given Channel's transponder.
Reimplemented from cDevice.
Definition at line 1511 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::IsTunedTo().
Referenced by cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().
|
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 from cDevice.
|
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 from cDevice.
Definition at line 1516 of file dvbdevice.c.
References BondingOk().
|
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 from cDevice.
Definition at line 1491 of file dvbdevice.c.
References numDeliverySystems, and numModulations.
|
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 from cDevice.
|
protectedvirtual |
|
protectedvirtual |
Opens the DVR of this device and prepares it to deliver a Transport Stream for use in a cReceiver.
Reimplemented from cDevice.
Definition at line 1538 of file dvbdevice.c.
References adapter, cDevice::CardIndex(), CloseDvr(), DEV_DVB_DVR, DvbOpen(), fd_dvr, frontend, MEGABYTE, and tsBuffer.
|
protectedvirtual |
Opens a file handle for the given filter data.
A derived device that provides section data must implement this function.
Reimplemented from cDevice.
|
protectedvirtual |
Opens a file handle for the given filter data.
A derived device that provides section data must implement this function.
Reimplemented from cDevice.
Definition at line 1367 of file dvbdevice.c.
References adapter, DEV_DVB_DEMUX, DvbName(), esyslog, and frontend.
|
staticprivate |
Probes for existing DVB devices.
Reimplemented in cDvbHdFfDevice.
Definition at line 1065 of file dvbdevice.c.
References cDvbDevice(), DEV_DVB_FRONTEND, dsyslog, DvbDeviceProbes, and DvbName().
Referenced by Initialize().
|
staticprivate |
Probes for existing DVB devices.
Reimplemented in cDvbHdFfDevice.
|
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 from cDevice.
Definition at line 1438 of file dvbdevice.c.
References cChannel::Apid(), bondedDevice, BondingOk(), cChannel::Ca(), CA_ENCRYPTED_MIN, cDevice::CamSlot(), cCamSlot::CanDecrypt(), cChannel::Dpid(), dvbTuner, cDevice::HasPid(), IDLEPRIORITY, cDvbTuner::IsTunedTo(), needsDetachBondedReceivers, cDevice::Priority(), ProvidesTransponder(), cDevice::Receiving(), and cChannel::Vpid().
|
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 from cDevice.
|
virtual |
|
virtual |
Definition at line 1396 of file dvbdevice.c.
References deliverySystems, and numDeliverySystems.
Referenced by Bond(), ProvidesSource(), and ProvidesTransponder().
|
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 from cDevice.
Definition at line 1486 of file dvbdevice.c.
References dvbTuner.
|
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 from cDevice.
|
virtual |
Returns true if this device can provide the given source.
Reimplemented from cDevice.
Reimplemented in cDvbSdFfDevice.
Definition at line 1405 of file dvbdevice.c.
References ProvidesDeliverySystem(), cSource::st_Mask, cSource::stAtsc, cSource::stCable, cSource::stNone, cSource::stSat, and cSource::stTerr.
Referenced by ProvidesTransponder().
|
virtual |
Returns true if this device can provide the given source.
Reimplemented from cDevice.
Reimplemented in cDvbSdFfDevice.
|
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 from cDevice.
Definition at line 1415 of file dvbdevice.c.
References cDevice::CardIndex(), cDevice::DeviceHooksProvidesTransponder(), cSetup::DiSEqC, Diseqcs, FE_CAN_TURBO_FEC, cChannel::Frequency(), frontendInfo, cDiseqcs::Get(), GetRequiredDeliverySystem(), cSource::IsSat(), cChannel::Parameters(), ProvidesDeliverySystem(), ProvidesSource(), Setup, and cChannel::Source().
Referenced by ProvidesChannel().
|
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 from cDevice.
|
private |
Definition at line 1149 of file dvbdevice.c.
References adapter, DeliverySystemNames, deliverySystems, esyslog, FE_CAN_TURBO_FEC, frontend, Frontend(), frontendInfo, isyslog, LOG_ERROR, MapToUserString(), MAXDELIVERYSYSTEMS, numDeliverySystems, numModulations, SETCMD, and cString::sprintf().
Referenced by cDvbDevice().
|
private |
|
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 from cDevice.
|
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 from cDevice.
Definition at line 1217 of file dvbdevice.c.
References ciAdapter, and cCiAdapter::Ready().
|
protectedvirtual |
Sets the device to the given channel (actual physical setup).
Reimplemented from cDevice.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 1521 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::SetChannel().
Referenced by cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().
|
protectedvirtual |
Sets the device to the given channel (actual physical setup).
Reimplemented from cDevice.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
|
protectedvirtual |
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 from cDevice.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
|
protectedvirtual |
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 from cDevice.
Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.
Definition at line 1327 of file dvbdevice.c.
References adapter, CHECK, DEV_DVB_DEMUX, DvbOpen(), frontend, cDevice::cPidHandle::handle, LOG_ERROR, cDevice::cPidHandle::pid, cDevice::ptTeletext, and cDevice::cPidHandle::used.
|
static |
Definition at line 1533 of file dvbdevice.c.
References setTransferModeForDolbyDigital.
Referenced by cExternalAudio::cExternalAudio().
|
static |
|
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 from cDevice.
Definition at line 1501 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::GetSignalQuality().
|
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 from cDevice.
|
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 from cDevice.
Definition at line 1496 of file dvbdevice.c.
References dvbTuner, and cDvbTuner::GetSignalStrength().
|
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 from cDevice.
void cDvbDevice::UnBond | ( | void | ) |
Removes this device from any bonding it might have with other devices.
If this device is not bonded with any other device, nothing happens.
Definition at line 1297 of file dvbdevice.c.
References bondedDevice, bondMutex, cDevice::CardIndex(), dsyslog, dvbTuner, and cDvbTuner::UnBond().
Referenced by ~cDvbDevice().
void cDvbDevice::UnBond | ( | void | ) |
Removes this device from any bonding it might have with other devices.
If this device is not bonded with any other device, nothing happens.
|
static |
Unbonds all devices.
|
static |
Unbonds all devices.
Definition at line 1265 of file dvbdevice.c.
References cDevice::GetDevice(), and cDevice::NumDevices().
Referenced by BondDevices().
|
protected |
Definition at line 124 of file dvbdevice.h.
Referenced by Adapter(), cDvbDevice(), cDvbHdFfDevice::cDvbHdFfDevice(), cDvbSdFfDevice::cDvbSdFfDevice(), OpenDvr(), OpenFilter(), QueryDeliverySystems(), cDvbHdFfDevice::SetPid(), cDvbSdFfDevice::SetPid(), SetPid(), and cDvbSdFfDevice::SetPlayMode().
|
private |
Definition at line 132 of file dvbdevice.h.
Referenced by Bond(), BondingOk(), cDvbDevice(), DetachAllReceivers(), ProvidesChannel(), and UnBond().
|
staticprivate |
Definition at line 131 of file dvbdevice.h.
Referenced by Bond(), BondingOk(), DetachAllReceivers(), and UnBond().
|
private |
Definition at line 174 of file dvbdevice.h.
Referenced by cDvbDevice(), HasCi(), Ready(), and ~cDvbDevice().
|
private |
Definition at line 127 of file dvbdevice.h.
Referenced by DeviceType(), ProvidesDeliverySystem(), and QueryDeliverySystems().
|
private |
Definition at line 179 of file dvbdevice.h.
Referenced by Bond(), BondingOk(), cDvbDevice(), DeviceType(), GetCurrentlyTunedTransponder(), HasLock(), IsTunedToTransponder(), ProvidesChannel(), ProvidesEIT(), SetChannelDevice(), SignalQuality(), SignalStrength(), UnBond(), and ~cDvbDevice().
|
private |
Definition at line 130 of file dvbdevice.h.
Referenced by cDvbDevice().
|
private |
Definition at line 130 of file dvbdevice.h.
Referenced by cDvbDevice(), CloseDvr(), and OpenDvr().
|
protected |
Definition at line 124 of file dvbdevice.h.
Referenced by cDvbDevice(), cDvbHdFfDevice::cDvbHdFfDevice(), cDvbSdFfDevice::cDvbSdFfDevice(), Frontend(), OpenDvr(), OpenFilter(), QueryDeliverySystems(), cDvbHdFfDevice::SetPid(), cDvbSdFfDevice::SetPid(), SetPid(), and cDvbSdFfDevice::SetPlayMode().
|
private |
Definition at line 126 of file dvbdevice.h.
Referenced by DeviceName(), ProvidesTransponder(), and QueryDeliverySystems().
|
mutableprivate |
Definition at line 133 of file dvbdevice.h.
Referenced by cDvbDevice(), DetachAllReceivers(), and ProvidesChannel().
|
private |
Definition at line 128 of file dvbdevice.h.
Referenced by cDvbDevice(), DeviceType(), NumProvidedSystems(), ProvidesDeliverySystem(), and QueryDeliverySystems().
|
private |
Definition at line 129 of file dvbdevice.h.
Referenced by cDvbDevice(), NumProvidedSystems(), and QueryDeliverySystems().
|
staticprotected |
Definition at line 216 of file dvbdevice.h.
Referenced by cDvbSdFfDevice::SetAudioBypass(), cDvbSdFfDevice::SetAudioTrackDevice(), and SetTransferModeForDolbyDigital().
|
private |
< Controls how the DVB device handles Transfer Mode when replaying Dolby Digital audio.
0 = don't set "audio bypass" in driver/firmware, don't force Transfer Mode 1 = set "audio bypass" in driver/firmware, force Transfer Mode (default) 2 = don't set "audio bypass" in driver/firmware, force Transfer Mode
Definition at line 228 of file dvbdevice.h.
Referenced by cDvbDevice(), CloseDvr(), GetTSPacket(), OpenDvr(), cDvbHdFfDevice::PlayAudio(), and cDvbHdFfDevice::PlayVideo().