cDvbDevice Class Reference

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

#include <dvbdevice.h>

Inheritance diagram for cDvbDevice:

Inheritance graph
[legend]
Collaboration diagram for cDvbDevice:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cDvbDevice (int n)
virtual ~cDvbDevice ()
virtual bool Ready (void)
virtual int ProvidesCa (const cChannel *Channel) const
virtual bool HasDecoder (void) const
 Tells whether this device has an MPEG decoder.
virtual cSpuDecoderGetSpuDecoder (void)
virtual bool ProvidesSource (int Source) const
 Returns true if this device can provide the given source.
virtual bool ProvidesTransponder (const cChannel *Channel) const
 XXX -> PLUGINS.html!
virtual bool ProvidesChannel (const cChannel *Channel, int Priority=-1, bool *NeedsDetachReceivers=NULL) const
virtual bool IsTunedToTransponder (const cChannel *Channel)
virtual bool HasLock (int TimeoutMs=0)
virtual ucharGrabImage (int &Size, 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 int64_t GetSTC (void)
virtual void TrickSpeed (int Speed)
virtual void Clear (void)
virtual void Play (void)
virtual void Freeze (void)
 Puts the device into "freeze frame" mode.
virtual void Mute (void)
virtual void StillPicture (const uchar *Data, int Length)
 Displays the given I-frame as a still picture.
virtual bool Poll (cPoller &Poller, int TimeoutMs=0)
virtual bool Flush (int TimeoutMs=0)

Static Public Member Functions

static bool Initialize (void)
static void SetTransferModeForDolbyDigital (int Mode)

Protected Member Functions

virtual void MakePrimaryDevice (bool On)
virtual bool SetChannelDevice (const cChannel *Channel, bool LiveView)
 Sets the device to the given channel (actual physical setup).
virtual bool SetPid (cPidHandle *Handle, int Type, bool On)
virtual int OpenFilter (u_short Pid, u_char Tid, u_char Mask)
virtual void SetAudioTrackDevice (eTrackType Type)
 Sets the current audio track to the given value.
virtual int GetAudioChannelDevice (void)
virtual void SetAudioChannelDevice (int AudioChannel)
 Sets the audio channel to stereo (0), mono left (1) or mono right (2).
virtual void SetVolumeDevice (int Volume)
 Sets the audio volume on this device (Volume = 0...255).
virtual void SetDigitalAudioDevice (bool On)
virtual bool CanReplay (void) const
 Returns true if this device can currently start a replay session.
virtual bool SetPlayMode (ePlayMode PlayMode)
virtual int PlayVideo (const uchar *Data, int Length)
virtual int PlayAudio (const uchar *Data, int Length, uchar Id)
virtual bool OpenDvr (void)
virtual void CloseDvr (void)
 Shuts down the DVR.
virtual bool GetTSPacket (uchar *&Data)

Protected Attributes

ePlayMode playMode

Private Member Functions

void TurnOffLiveMode (bool LiveView)
bool SetAudioBypass (bool On)

Static Private Member Functions

static bool Probe (const char *FileName)
 Probes for existing DVB devices.

Private Attributes

fe_type_t frontendType
int fd_osd
int fd_audio
int fd_video
int fd_dvr
int fd_stc
cDvbSpuDecoderspuDecoder
cDvbTunerdvbTuner
int devVideoIndex
bool digitalAudio
cTSBuffertsBuffer

Static Private Attributes

static int devVideoOffset = -1
static int setTransferModeForDolbyDigital = 1


Detailed Description

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

Definition at line 28 of file dvbdevice.h.


Constructor & Destructor Documentation

cDvbDevice::cDvbDevice ( int  n  ) 

Definition at line 360 of file dvbdevice.c.

References cDevice::CardIndex(), cDevice::ciHandler, cCiHandler::CreateCiHandler(), DEV_DVB_AUDIO, DEV_DVB_CA, DEV_DVB_DEMUX, DEV_DVB_FRONTEND, DEV_DVB_OSD, DEV_DVB_VIDEO, devVideoIndex, devVideoOffset, digitalAudio, dsyslog, DvbOpen(), dvbTuner, esyslog, fd_audio, fd_dvr, fd_osd, fd_stc, fd_video, frontendType, HasDecoder(), LOG_ERROR, playMode, pmNone, Setup, SetVideoFormat(), spuDecoder, cDevice::StartSectionHandler(), and cSetup::VideoFormat.

Referenced by Initialize().

Here is the call graph for this function:

cDvbDevice::~cDvbDevice (  )  [virtual]

Definition at line 434 of file dvbdevice.c.

References dvbTuner, and spuDecoder.


Member Function Documentation

bool cDvbDevice::Probe ( const char *  FileName  )  [static, private]

Probes for existing DVB devices.

Definition at line 442 of file dvbdevice.c.

References dsyslog, and LOG_ERROR_STR.

Referenced by Initialize().

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

References cDvbDevice(), DEV_DVB_FRONTEND, isyslog, MAXDVBDEVICES, cDevice::NextCardIndex(), Probe(), and cDevice::UseDevice().

Referenced by main().

Here is the call graph for this function:

void cDvbDevice::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.

Reimplemented from cDevice.

Definition at line 483 of file dvbdevice.c.

References fd_osd, and HasDecoder().

Here is the call graph for this function:

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

References cDevice::ciHandler, cCiHandler::Process(), and cCiHandler::Ready().

Here is the call graph for this function:

int cDvbDevice::ProvidesCa ( const cChannel Channel  )  const [virtual]

Checks whether this device provides the conditional access facilities to decrypt the given Channel. Returns 0 if the Channel can't be decrypted, 1 if this is a Free To Air channel or only exactly this device can decrypt it, and > 1 if this device can decrypt the Channel. If the result is greater than 1 and the device has more than one CAM, the value will be increased by the number of CAMs, which allows to select the device with the smallest number of CAMs in order to preserve resources for other recordings.

Reimplemented from cDevice.

Definition at line 503 of file dvbdevice.c.

References cChannel::Ca(), CA_ENCRYPTED_MIN, cDevice::ciHandler, MAXCAIDS, cCiHandler::NumCams(), cDevice::ProvidesCa(), and cCiHandler::ProvidesCa().

Referenced by ProvidesChannel().

Here is the call graph for this function:

bool cDvbDevice::HasDecoder ( void   )  const [virtual]

Tells whether this device has an MPEG decoder.

Reimplemented from cDevice.

Definition at line 489 of file dvbdevice.c.

References fd_audio, and fd_video.

Referenced by cDvbDevice(), GetAudioChannelDevice(), MakePrimaryDevice(), SetAudioChannelDevice(), SetChannelDevice(), SetVideoDisplayFormat(), SetVideoFormat(), and SetVolumeDevice().

cSpuDecoder * cDvbDevice::GetSpuDecoder ( void   )  [virtual]

Returns a pointer to the device's SPU decoder (or NULL, if this device doesn't have an SPU decoder).

Reimplemented from cDevice.

Definition at line 522 of file dvbdevice.c.

References cDevice::IsPrimaryDevice(), and spuDecoder.

Here is the call graph for this function:

void cDvbDevice::TurnOffLiveMode ( bool  LiveView  )  [private]

Definition at line 729 of file dvbdevice.c.

References CHECK, cDevice::DelPid(), cDevice::DetachAll(), fd_audio, fd_video, cDevice::pidHandles, cDevice::ptAudio, cDevice::ptDolby, cDevice::ptPcr, cDevice::ptTeletext, and cDevice::ptVideo.

Referenced by SetChannelDevice(), and SetPlayMode().

Here is the call graph for this function:

bool cDvbDevice::ProvidesSource ( int  Source  )  const [virtual]

Returns true if this device can provide the given source.

Reimplemented from cDevice.

Definition at line 752 of file dvbdevice.c.

References frontendType, cSource::st_Mask, cSource::stCable, cSource::stNone, cSource::stSat, and cSource::stTerr.

Referenced by ProvidesChannel(), and ProvidesTransponder().

bool cDvbDevice::ProvidesTransponder ( const cChannel Channel  )  const [virtual]

XXX -> PLUGINS.html!

Reimplemented from cDevice.

Definition at line 761 of file dvbdevice.c.

References cSetup::DiSEqC, Diseqcs, cChannel::Frequency(), cDiseqcs::Get(), cSource::IsSat(), cChannel::Polarization(), ProvidesSource(), Setup, and cChannel::Source().

Here is the call graph for this function:

bool cDvbDevice::ProvidesChannel ( const cChannel Channel,
int  Priority = -1,
bool *  NeedsDetachReceivers = NULL 
) const [virtual]

Returns true if this device can provide the given channel. In case the device has cReceivers attached to it or it is the primary device, Priority is used to decide whether the caller's request can be honored. The special Priority value -1 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 766 of file dvbdevice.c.

References cChannel::Apid(), cChannel::Ca(), cDevice::Ca(), CA_ENCRYPTED_MIN, dvbTuner, cDevice::HasPid(), cDevice::IsPrimaryDevice(), cDvbTuner::IsTunedTo(), cSetup::PrimaryLimit, cDevice::Priority(), ProvidesCa(), ProvidesSource(), cDevice::Receiving(), Setup, cChannel::Source(), and cChannel::Vpid().

Here is the call graph for this function:

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

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

Reimplemented from cDevice.

Definition at line 803 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::IsTunedTo().

Here is the call graph for this function:

bool cDvbDevice::SetChannelDevice ( const cChannel Channel,
bool  LiveView 
) [protected, virtual]

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

Reimplemented from cDevice.

Definition at line 808 of file dvbdevice.c.

References cDevice::AddPid(), cChannel::Apid(), cChannel::Apids(), cDevice::CardIndex(), CHECK, cChannel::Dpid(), cChannel::Dpids(), dvbTuner, EITScanner, esyslog, fd_audio, HasDecoder(), cDevice::HasPid(), cDevice::IsPrimaryDevice(), cDvbTuner::IsTunedTo(), cControl::Launch(), cChannel::Number(), cDevice::cPidHandle::pid, cDevice::pidHandles, cChannel::Ppid(), cDevice::ptAudio, cDevice::ptPcr, cDevice::ptTeletext, cDevice::ptVideo, cDvbTuner::Set(), SetAudioBypass(), cChannel::Spids(), cChannel::Tpid(), TurnOffLiveMode(), cEITScanner::UsesDevice(), and cChannel::Vpid().

Here is the call graph for this function:

bool cDvbDevice::HasLock ( int  TimeoutMs = 0  )  [virtual]

Reimplemented from cDevice.

Definition at line 868 of file dvbdevice.c.

References dvbTuner, and cDvbTuner::Locked().

Here is the call graph for this function:

bool cDvbDevice::SetAudioBypass ( bool  On  )  [private]

Definition at line 653 of file dvbdevice.c.

References fd_audio, and setTransferModeForDolbyDigital.

Referenced by SetAudioTrackDevice(), and SetChannelDevice().

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

Definition at line 663 of file dvbdevice.c.

References cDevice::CardIndex(), CHECK, DEV_DVB_DEMUX, DvbOpen(), cDevice::cPidHandle::handle, LOG_ERROR, PesTypes, cDevice::cPidHandle::pid, pmNone, cDevice::ptOther, cDevice::ptTeletext, SetPlayMode(), and cDevice::cPidHandle::used.

Referenced by SetAudioTrackDevice().

Here is the call graph for this function:

int cDvbDevice::OpenFilter ( u_short  Pid,
u_char  Tid,
u_char  Mask 
) [protected, virtual]

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

References cDevice::CardIndex(), DEV_DVB_DEMUX, and esyslog.

Here is the call graph for this function:

uchar * cDvbDevice::GrabImage ( int &  Size,
bool  Jpeg = true,
int  Quality = -1,
int  SizeX = -1,
int  SizeY = -1 
) [virtual]

Grabs the currently visible screen image.

Parameters:
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).
Returns:
A pointer to the grabbed image data, or NULL in case of an error. The caller takes ownership of the returned memory and must free() it once it isn't needed any more.

Reimplemented from cDevice.

Definition at line 529 of file dvbdevice.c.

References DEV_VIDEO, devVideoIndex, dsyslog, esyslog, LOG_ERROR_STR, MALLOC, and RgbToJpeg().

Here is the call graph for this function:

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

Definition at line 609 of file dvbdevice.c.

References CHECK, fd_video, HasDecoder(), Setup, cDevice::SetVideoDisplayFormat(), vdfCenterCutOut, vdfLetterBox, vdfPanAndScan, and cSetup::VideoFormat.

Referenced by SetVideoFormat().

Here is the call graph for this function:

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

Definition at line 632 of file dvbdevice.c.

References CHECK, fd_video, HasDecoder(), Setup, SetVideoDisplayFormat(), and cSetup::VideoDisplayFormat.

Referenced by cDvbDevice(), and SetPlayMode().

Here is the call graph for this function:

eVideoSystem cDvbDevice::GetVideoSystem ( void   )  [virtual]

Returns the video system of the currently displayed material (default is PAL).

Reimplemented from cDevice.

Definition at line 640 of file dvbdevice.c.

References fd_video, LOG_ERROR, vsNTSC, and vsPAL.

void cDvbDevice::SetAudioTrackDevice ( eTrackType  Type  )  [protected, virtual]

Sets the current audio track to the given value.

Reimplemented from cDevice.

Definition at line 916 of file dvbdevice.c.

References cDevice::ciHandler, cDevice::DetachAll(), cDevice::ForceTransferMode(), cDevice::GetTrack(), tTrackId::id, IS_AUDIO_TRACK, IS_DOLBY_TRACK, cDevice::cPidHandle::pid, cDevice::pidHandles, cDevice::ptAudio, SetAudioBypass(), SetPid(), cCiHandler::SetPid(), setTransferModeForDolbyDigital, and cCiHandler::StartDecrypting().

Here is the call graph for this function:

int cDvbDevice::GetAudioChannelDevice ( void   )  [protected, virtual]

Gets the current audio channel, which is stereo (0), mono left (1) or mono right (2).

Reimplemented from cDevice.

Definition at line 873 of file dvbdevice.c.

References CHECK, fd_audio, and HasDecoder().

Here is the call graph for this function:

void cDvbDevice::SetAudioChannelDevice ( int  AudioChannel  )  [protected, virtual]

Sets the audio channel to stereo (0), mono left (1) or mono right (2).

Reimplemented from cDevice.

Definition at line 883 of file dvbdevice.c.

References CHECK, fd_audio, and HasDecoder().

Here is the call graph for this function:

void cDvbDevice::SetVolumeDevice ( int  Volume  )  [protected, virtual]

Sets the audio volume on this device (Volume = 0...255).

Reimplemented from cDevice.

Definition at line 889 of file dvbdevice.c.

References CHECK, digitalAudio, fd_audio, and HasDecoder().

Referenced by SetDigitalAudioDevice().

Here is the call graph for this function:

void cDvbDevice::SetDigitalAudioDevice ( bool  On  )  [protected, virtual]

Tells the actual device that digital audio output shall be switched on or off.

Reimplemented from cDevice.

Definition at line 901 of file dvbdevice.c.

References cDevice::CurrentVolume(), digitalAudio, cDevice::IsMute(), SetVolumeDevice(), and cCondWait::SleepMs().

Here is the call graph for this function:

void cDvbDevice::SetTransferModeForDolbyDigital ( int  Mode  )  [static]

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

References setTransferModeForDolbyDigital.

Referenced by cExternalAudio::Play().

bool cDvbDevice::CanReplay ( void   )  const [protected, virtual]

Returns true if this device can currently start a replay session.

Reimplemented from cDevice.

Definition at line 943 of file dvbdevice.c.

References cDevice::CanReplay(), and cDevice::Receiving().

Here is the call graph for this function:

bool cDvbDevice::SetPlayMode ( ePlayMode  PlayMode  )  [protected, virtual]

Sets the device into the given play mode.

Returns:
true if the operation was successful.

Reimplemented from cDevice.

Definition at line 952 of file dvbdevice.c.

References cDevice::CardIndex(), CHECK, DEV_DVB_AUDIO, DEV_DVB_VIDEO, DvbOpen(), fd_audio, fd_video, playMode, pmAudioOnly, pmAudioOnlyBlack, pmAudioVideo, pmExtern_THIS_SHOULD_BE_AVOIDED, pmNone, pmVideoOnly, Setup, SetVideoFormat(), TurnOffLiveMode(), and cSetup::VideoFormat.

Referenced by SetPid().

Here is the call graph for this function:

int cDvbDevice::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' to EAGAIN).

Returns:
Returns the number of bytes actually taken from Data, or -1 in case of an error.

Reimplemented from cDevice.

Definition at line 1172 of file dvbdevice.c.

References fd_video, and WriteAllOrNothing().

Here is the call graph for this function:

int cDvbDevice::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' to EAGAIN).

Returns:
Returns the number of bytes actually taken from Data, or -1 in case of an error.

Reimplemented from cDevice.

Definition at line 1177 of file dvbdevice.c.

References fd_audio, and WriteAllOrNothing().

Here is the call graph for this function:

int64_t cDvbDevice::GetSTC ( void   )  [virtual]

Gets the current System Time Counter, which can be used to synchronize audio and video. If this device is unable to provide the STC, -1 will be returned.

Reimplemented from cDevice.

Definition at line 1017 of file dvbdevice.c.

References cDevice::CardIndex(), esyslog, and fd_stc.

Here is the call graph for this function:

void cDvbDevice::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.

Reimplemented from cDevice.

Definition at line 1031 of file dvbdevice.c.

References CHECK, and fd_video.

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

Definition at line 1037 of file dvbdevice.c.

References CHECK, cDevice::Clear(), fd_audio, and fd_video.

Here is the call graph for this function:

void cDvbDevice::Play ( void   )  [virtual]

Sets the device into play mode (after a previous trick mode).

Reimplemented from cDevice.

Definition at line 1046 of file dvbdevice.c.

References CHECK, fd_audio, fd_video, cDevice::Play(), playMode, pmAudioOnly, and pmAudioOnlyBlack.

Here is the call graph for this function:

void cDvbDevice::Freeze ( void   )  [virtual]

Puts the device into "freeze frame" mode.

Reimplemented from cDevice.

Definition at line 1061 of file dvbdevice.c.

References CHECK, fd_audio, fd_video, cDevice::Freeze(), playMode, pmAudioOnly, and pmAudioOnlyBlack.

Here is the call graph for this function:

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

Definition at line 1076 of file dvbdevice.c.

References CHECK, fd_audio, and cDevice::Mute().

Here is the call graph for this function:

void cDvbDevice::StillPicture ( const uchar Data,
int  Length 
) [virtual]

Displays the given I-frame as a still picture.

Reimplemented from cDevice.

Definition at line 1085 of file dvbdevice.c.

References CHECK, fd_video, and MALLOC.

bool cDvbDevice::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 milleseconds before returning in case it can't accept any data.

Reimplemented from cDevice.

Definition at line 1160 of file dvbdevice.c.

References cPoller::Add(), fd_audio, fd_video, playMode, pmAudioOnly, pmAudioOnlyBlack, and cPoller::Poll().

Here is the call graph for this function:

bool cDvbDevice::Flush ( int  TimeoutMs = 0  )  [virtual]

Returns true if the device's output buffers are empty, i. e. any data which was bufferd 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 from cDevice.

Definition at line 1166 of file dvbdevice.c.

bool cDvbDevice::OpenDvr ( void   )  [protected, virtual]

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

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

Here is the call graph for this function:

void cDvbDevice::CloseDvr ( void   )  [protected, virtual]

Shuts down the DVR.

Reimplemented from cDevice.

Definition at line 1191 of file dvbdevice.c.

References fd_dvr, and tsBuffer.

Referenced by OpenDvr().

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

Definition at line 1201 of file dvbdevice.c.

References cTSBuffer::Get(), and tsBuffer.

Here is the call graph for this function:


Member Data Documentation

fe_type_t cDvbDevice::frontendType [private]

Definition at line 38 of file dvbdevice.h.

Referenced by cDvbDevice(), and ProvidesSource().

int cDvbDevice::fd_osd [private]

Definition at line 39 of file dvbdevice.h.

Referenced by cDvbDevice(), and MakePrimaryDevice().

int cDvbDevice::fd_audio [private]

Definition at line 39 of file dvbdevice.h.

Referenced by cDvbDevice(), Clear(), Freeze(), GetAudioChannelDevice(), HasDecoder(), Mute(), Play(), PlayAudio(), Poll(), SetAudioBypass(), SetAudioChannelDevice(), SetChannelDevice(), SetPlayMode(), SetVolumeDevice(), and TurnOffLiveMode().

int cDvbDevice::fd_video [private]

Definition at line 39 of file dvbdevice.h.

Referenced by cDvbDevice(), Clear(), Freeze(), GetVideoSystem(), HasDecoder(), Play(), PlayVideo(), Poll(), SetPlayMode(), SetVideoDisplayFormat(), SetVideoFormat(), StillPicture(), TrickSpeed(), and TurnOffLiveMode().

int cDvbDevice::fd_dvr [private]

Definition at line 39 of file dvbdevice.h.

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

int cDvbDevice::fd_stc [private]

Definition at line 39 of file dvbdevice.h.

Referenced by cDvbDevice(), and GetSTC().

cDvbSpuDecoder* cDvbDevice::spuDecoder [private]

Definition at line 52 of file dvbdevice.h.

Referenced by cDvbDevice(), GetSpuDecoder(), and ~cDvbDevice().

cDvbTuner* cDvbDevice::dvbTuner [private]

Definition at line 59 of file dvbdevice.h.

Referenced by cDvbDevice(), HasLock(), IsTunedToTransponder(), ProvidesChannel(), SetChannelDevice(), and ~cDvbDevice().

int cDvbDevice::devVideoOffset = -1 [static, private]

Definition at line 86 of file dvbdevice.h.

Referenced by cDvbDevice().

int cDvbDevice::devVideoIndex [private]

Definition at line 87 of file dvbdevice.h.

Referenced by cDvbDevice(), and GrabImage().

bool cDvbDevice::digitalAudio [private]

Definition at line 106 of file dvbdevice.h.

Referenced by cDvbDevice(), SetDigitalAudioDevice(), and SetVolumeDevice().

int cDvbDevice::setTransferModeForDolbyDigital = 1 [static, private]

Definition at line 107 of file dvbdevice.h.

Referenced by SetAudioBypass(), SetAudioTrackDevice(), and SetTransferModeForDolbyDigital().

ePlayMode cDvbDevice::playMode [protected]

Definition at line 124 of file dvbdevice.h.

Referenced by cDvbDevice(), Freeze(), Play(), Poll(), and SetPlayMode().

cTSBuffer* cDvbDevice::tsBuffer [private]

Definition at line 143 of file dvbdevice.h.

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


The documentation for this class was generated from the following files:
Generated on Tue Nov 6 20:09:39 2007 for VDR by  doxygen 1.5.3-20071008