vdr  2.0.5
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
cDvbDevice Class Reference

#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 cChannelGetCurrentlyTunedTransponder (void) const
 
virtual bool IsTunedToTransponder (const cChannel *Channel) const
 
virtual bool MaySwitchTransponder (const cChannel *Channel) const
 
virtual bool HasLock (int TimeoutMs=0) const
 
virtual bool HasCi (void)
 
- Public Member Functions inherited from cDevice
bool IsPrimaryDevice (void) const
 
int CardIndex (void) const
 
int DeviceNumber (void) const
 
virtual bool HasDecoder (void) const
 
virtual bool AvoidRecording (void) const
 
virtual cSpuDecoderGetSpuDecoder (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) const
 
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)
 
cCamSlotCamSlot (void) const
 
virtual ucharGrabImage (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 tTrackIdGetTrack (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)
 
void SetKeepTracks (bool KeepTracks)
 
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 cRect CanScaleVideo (const cRect &Rect, int Alignment=taCenter)
 
virtual void ScaleVideo (const cRect &Rect=cRect::Null)
 
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)
 
- Public Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
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 Public Member Functions inherited from cDevice
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 cDevicePrimaryDevice (void)
 
static cDeviceActualDevice (void)
 
static cDeviceGetDevice (int Index)
 
static cDeviceGetDevice (const cChannel *Channel, int Priority, bool LiveView, bool Query=false)
 
static cDeviceGetDeviceForTransponder (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 Public Member Functions inherited from cThread
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)
 
- Protected Member Functions inherited from cDevice
 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 cPatPmtParserPatPmtParser (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)
 
- Protected Member Functions inherited from cThread
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
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 Protected Member Functions inherited from cDevice
static int NextCardIndex (int n=0)
 

Protected Attributes

int adapter
 
int frontend
 
- Protected Attributes inherited from cDevice
cPidHandle pidHandles [MAXPIDHANDLES]
 

Static Protected Attributes

static int setTransferModeForDolbyDigital = 1
 
- Static Protected Attributes inherited from cDevice
static int currentChannel = 1
 

Private Member Functions

bool QueryDeliverySystems (int fd_frontend)
 

Static Private Member Functions

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
 
cDvbDevicebondedDevice
 
bool needsDetachBondedReceivers
 
cCiAdapterciAdapter
 
cDvbTunerdvbTuner
 
cTSBuffertsBuffer
 

Static Private Attributes

static cMutex bondMutex
 

Additional Inherited Members

- Protected Types inherited from cDevice
enum  ePidType {
  ptAudio, ptVideo, ptPcr, ptTeletext,
  ptDolby, ptOther
}
 

Detailed Description

The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API.

Definition at line 158 of file dvbdevice.h.

Constructor & Destructor Documentation

cDvbDevice::cDvbDevice ( int  Adapter,
int  Frontend 
)
cDvbDevice::~cDvbDevice ( )
virtual

Definition at line 1051 of file dvbdevice.c.

References ciAdapter, dvbTuner, cDevice::StopSectionHandler(), and UnBond().

Member Function Documentation

int cDvbDevice::Adapter ( void  ) const
inline

Definition at line 187 of file dvbdevice.h.

References adapter.

Referenced by cDvbDevice(), and Initialize().

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 1316 of file dvbdevice.c.

References cDvbTuner::Bond(), bondedDevice, bondMutex, cDevice::CardIndex(), dsyslog, dvbTuner, esyslog, and ProvidesDeliverySystem().

bool cDvbDevice::BondDevices ( const char *  Bondings)
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 1267 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 1357 of file dvbdevice.c.

References bondedDevice, cDvbTuner::BondingOk(), bondMutex, and dvbTuner.

Referenced by MaySwitchTransponder(), and ProvidesChannel().

void cDvbDevice::CloseDvr ( void  )
protectedvirtual

Shuts down the DVR.

Reimplemented from cDevice.

Definition at line 1593 of file dvbdevice.c.

References fd_dvr, and tsBuffer.

Referenced by OpenDvr().

void cDvbDevice::CloseFilter ( int  Handle)
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 1434 of file dvbdevice.c.

void cDvbDevice::DetachAllReceivers ( void  )
protectedvirtual

Detaches all receivers from this device.

Reimplemented from cDevice.

Definition at line 1612 of file dvbdevice.c.

References bondedDevice, bondMutex, and needsDetachBondedReceivers.

cString cDvbDevice::DeviceName ( void  ) const
virtual

Returns a string identifying the name of this device.

The default implementation returns an empty string.

Reimplemented from cDevice.

Definition at line 1116 of file dvbdevice.c.

References frontendInfo.

cString cDvbDevice::DeviceType ( void  ) const
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 1105 of file dvbdevice.c.

References DeliverySystemNames, deliverySystems, dvbTuner, cDvbTuner::FrontendType(), and numDeliverySystems.

cString cDvbDevice::DvbName ( const char *  Name,
int  Adapter,
int  Frontend 
)
staticprotected

Definition at line 1061 of file dvbdevice.c.

References DEV_DVB_ADAPTER, DEV_DVB_BASE, and cString::sprintf().

Referenced by DvbOpen(), Exists(), OpenFilter(), and Probe().

int cDvbDevice::DvbOpen ( const char *  Name,
int  Adapter,
int  Frontend,
int  Mode,
bool  ReportError = false 
)
staticprotected
bool cDvbDevice::Exists ( int  Adapter,
int  Frontend 
)
staticprivate

Checks whether the given adapter/frontend exists.

Definition at line 1075 of file dvbdevice.c.

References DEV_DVB_FRONTEND, DvbName(), and LOG_ERROR_STR.

Referenced by Initialize().

int cDvbDevice::Frontend ( void  ) const
inline

Definition at line 188 of file dvbdevice.h.

References frontend.

Referenced by cDvbDevice(), Initialize(), and QueryDeliverySystems().

const cChannel * cDvbDevice::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 from cDevice.

Definition at line 1552 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::GetTransponder().

bool cDvbDevice::GetTSPacket ( uchar *&  Data)
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 1603 of file dvbdevice.c.

References cTSBuffer::Get(), and tsBuffer.

bool cDvbDevice::HasCi ( void  )
virtual

Returns true if this device has a Common Interface.

Reimplemented from cDevice.

Definition at line 1365 of file dvbdevice.c.

References ciAdapter.

bool cDvbDevice::HasLock ( int  TimeoutMs = 0) const
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 1574 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::Locked().

bool cDvbDevice::Initialize ( void  )
static

Initializes the DVB devices.

Must be called before accessing any DVB functions. Returns true if any devices are available.

Definition at line 1121 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().

bool cDvbDevice::IsTunedToTransponder ( const cChannel Channel) const
virtual

Returns true if this device is currently tuned to the given Channel's transponder.

Reimplemented from cDevice.

Definition at line 1557 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::IsTunedTo().

Referenced by cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().

bool cDvbDevice::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 from cDevice.

Definition at line 1562 of file dvbdevice.c.

References BondingOk(), and cDevice::MaySwitchTransponder().

int cDvbDevice::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 from cDevice.

Reimplemented in cDvbSdFfDevice.

Definition at line 1537 of file dvbdevice.c.

References numDeliverySystems, and numModulations.

Referenced by cDvbSdFfDevice::NumProvidedSystems().

bool cDvbDevice::OpenDvr ( void  )
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 1584 of file dvbdevice.c.

References adapter, cDevice::CardIndex(), CloseDvr(), DEV_DVB_DVR, DvbOpen(), fd_dvr, frontend, MEGABYTE, and tsBuffer.

int cDvbDevice::OpenFilter ( u_short  Pid,
u_char  Tid,
u_char  Mask 
)
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 1410 of file dvbdevice.c.

References adapter, DEV_DVB_DEMUX, DvbName(), esyslog, and frontend.

bool cDvbDevice::Probe ( int  Adapter,
int  Frontend 
)
staticprivate

Probes for existing DVB devices.

Definition at line 1092 of file dvbdevice.c.

References cDvbDevice(), DEV_DVB_FRONTEND, dsyslog, DvbDeviceProbes, and DvbName().

Referenced by Initialize().

bool cDvbDevice::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 from cDevice.

Definition at line 1482 of file dvbdevice.c.

References cChannel::Apid(), bondedDevice, BondingOk(), bondMutex, 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().

bool cDvbDevice::ProvidesDeliverySystem ( int  DeliverySystem) const
virtual

Definition at line 1439 of file dvbdevice.c.

References deliverySystems, and numDeliverySystems.

Referenced by Bond(), ProvidesSource(), and ProvidesTransponder().

bool cDvbDevice::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 from cDevice.

Definition at line 1532 of file dvbdevice.c.

References dvbTuner.

bool cDvbDevice::ProvidesSource ( int  Source) const
virtual

Returns true if this device can provide the given source.

Reimplemented from cDevice.

Reimplemented in cDvbSdFfDevice.

Definition at line 1448 of file dvbdevice.c.

References ProvidesDeliverySystem(), cSource::st_Mask, cSource::stAtsc, cSource::stCable, cSource::stNone, cSource::stSat, cSource::stTerr, and SYS_DVBT2.

Referenced by cDvbSdFfDevice::ProvidesSource(), and ProvidesTransponder().

bool cDvbDevice::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 from cDevice.

Definition at line 1458 of file dvbdevice.c.

References cDevice::CardIndex(), cDevice::DeviceHooksProvidesTransponder(), cSetup::DiSEqC, Diseqcs, FE_CAN_MULTISTREAM, FE_CAN_TURBO_FEC, cChannel::Frequency(), frontendInfo, cDiseqcs::Get(), GetRequiredDeliverySystem(), cSource::IsSat(), cChannel::Parameters(), ProvidesDeliverySystem(), ProvidesSource(), Setup, and cChannel::Source().

Referenced by ProvidesChannel().

bool cDvbDevice::QueryDeliverySystems ( int  fd_frontend)
private
bool cDvbDevice::Ready ( void  )
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 1260 of file dvbdevice.c.

References ciAdapter, and cCiAdapter::Ready().

bool cDvbDevice::SetChannelDevice ( const cChannel Channel,
bool  LiveView 
)
protectedvirtual

Sets the device to the given channel (actual physical setup).

Reimplemented from cDevice.

Reimplemented in cDvbSdFfDevice, and cDvbHdFfDevice.

Definition at line 1567 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::SetChannel().

Referenced by cDvbHdFfDevice::SetChannelDevice(), and cDvbSdFfDevice::SetChannelDevice().

bool cDvbDevice::SetPid ( cPidHandle Handle,
int  Type,
bool  On 
)
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 1370 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.

void cDvbDevice::SetTransferModeForDolbyDigital ( int  Mode)
static

Definition at line 1579 of file dvbdevice.c.

References setTransferModeForDolbyDigital.

Referenced by cExternalAudio::cExternalAudio().

int cDvbDevice::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 from cDevice.

Definition at line 1547 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::GetSignalQuality().

int cDvbDevice::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 from cDevice.

Definition at line 1542 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::GetSignalStrength().

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 1340 of file dvbdevice.c.

References bondedDevice, bondMutex, cDevice::CardIndex(), dsyslog, dvbTuner, and cDvbTuner::UnBond().

Referenced by ~cDvbDevice().

void cDvbDevice::UnBondDevices ( void  )
static

Unbonds all devices.

Definition at line 1308 of file dvbdevice.c.

References cDevice::GetDevice(), and cDevice::NumDevices().

Referenced by BondDevices().

Member Data Documentation

int cDvbDevice::adapter
protected
cDvbDevice* cDvbDevice::bondedDevice
private

Definition at line 181 of file dvbdevice.h.

Referenced by Bond(), BondingOk(), cDvbDevice(), DetachAllReceivers(), ProvidesChannel(), and UnBond().

cMutex cDvbDevice::bondMutex
staticprivate

Definition at line 180 of file dvbdevice.h.

Referenced by Bond(), BondingOk(), DetachAllReceivers(), ProvidesChannel(), and UnBond().

cCiAdapter* cDvbDevice::ciAdapter
private

Definition at line 223 of file dvbdevice.h.

Referenced by cDvbDevice(), HasCi(), Ready(), and ~cDvbDevice().

int cDvbDevice::deliverySystems[MAXDELIVERYSYSTEMS]
private

Definition at line 176 of file dvbdevice.h.

Referenced by DeviceType(), ProvidesDeliverySystem(), and QueryDeliverySystems().

cDvbTuner* cDvbDevice::dvbTuner
private
int cDvbDevice::fd_ca
private

Definition at line 179 of file dvbdevice.h.

Referenced by cDvbDevice().

int cDvbDevice::fd_dvr
private

Definition at line 179 of file dvbdevice.h.

Referenced by cDvbDevice(), CloseDvr(), and OpenDvr().

int cDvbDevice::frontend
protected
dvb_frontend_info cDvbDevice::frontendInfo
private

Definition at line 175 of file dvbdevice.h.

Referenced by DeviceName(), ProvidesTransponder(), and QueryDeliverySystems().

bool cDvbDevice::needsDetachBondedReceivers
mutableprivate

Definition at line 182 of file dvbdevice.h.

Referenced by cDvbDevice(), DetachAllReceivers(), and ProvidesChannel().

int cDvbDevice::numDeliverySystems
private
int cDvbDevice::numModulations
private

Definition at line 178 of file dvbdevice.h.

Referenced by cDvbDevice(), NumProvidedSystems(), and QueryDeliverySystems().

int cDvbDevice::setTransferModeForDolbyDigital = 1
staticprotected
cTSBuffer* cDvbDevice::tsBuffer
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 277 of file dvbdevice.h.

Referenced by cDvbDevice(), CloseDvr(), GetTSPacket(), OpenDvr(), cDvbHdFfDevice::PlayAudio(), and cDvbHdFfDevice::PlayVideo().


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