vdr  2.2.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
cDvbSdFfDevice Class Reference

#include <dvbsdffdevice.h>

Public Member Functions

 cDvbSdFfDevice (int Adapter, int Frontend, bool OutputOnly)
 
virtual ~cDvbSdFfDevice ()
 
virtual bool HasDecoder (void) const
 
virtual bool AvoidRecording (void) const
 
virtual cSpuDecoderGetSpuDecoder (void)
 
virtual bool ProvidesSource (int Source) const
 
virtual int NumProvidedSystems (void) const
 
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 void GetVideoSize (int &Width, int &Height, double &VideoAspect)
 
virtual void GetOsdSize (int &Width, int &Height, double &PixelAspect)
 
virtual int64_t GetSTC (void)
 
virtual void TrickSpeed (int Speed, bool Forward)
 
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)
 
- Public Member Functions inherited from cDvbDevice
 cDvbDevice (int Adapter, int Frontend)
 
virtual ~cDvbDevice ()
 
int Adapter (void) const
 
int Frontend (void) const
 
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 ProvidesTransponder (const cChannel *Channel) const
 
virtual bool ProvidesChannel (const cChannel *Channel, int Priority=IDLEPRIORITY, bool *NeedsDetachReceivers=NULL) const
 
virtual bool ProvidesEIT (void) const
 
virtual const cPositionerPositioner (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 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
 
bool GrabImageFile (const char *FileName, bool Jpeg=true, int Quality=-1, int SizeX=-1, int SizeY=-1)
 
virtual eVideoSystem GetVideoSystem (void)
 
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 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 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)
 

Protected Member Functions

virtual void MakePrimaryDevice (bool On)
 
virtual bool SetChannelDevice (const cChannel *Channel, bool LiveView)
 
virtual bool SetPid (cPidHandle *Handle, int Type, bool On)
 
virtual void SetAudioTrackDevice (eTrackType Type)
 
virtual int GetAudioChannelDevice (void)
 
virtual void SetAudioChannelDevice (int AudioChannel)
 
virtual void SetVolumeDevice (int Volume)
 
virtual void SetDigitalAudioDevice (bool On)
 
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 PlayTsVideo (const uchar *Data, int Length)
 
virtual int PlayTsAudio (const uchar *Data, int Length)
 
- Protected Member Functions inherited from cDvbDevice
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 bool Ready (void)
 
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 SetSubtitleTrackDevice (eTrackType Type)
 
const cPatPmtParserPatPmtParser (void) const
 
virtual int PlaySubtitle (const uchar *Data, int Length)
 
virtual int PlayPesPacket (const uchar *Data, int Length, bool VideoOnly=false)
 
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)
 

Protected Attributes

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

Private Member Functions

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

Private Attributes

int fd_osd
 
int fd_audio
 
int fd_video
 
int fd_stc
 
bool outputOnly
 
cDvbSpuDecoderspuDecoder
 
int devVideoIndex
 
bool digitalAudio
 

Static Private Attributes

static int devVideoOffset = -1
 

Additional Inherited Members

- Static Public Member Functions inherited from cDvbDevice
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 Types inherited from cDevice
enum  ePidType {
  ptAudio, ptVideo, ptPcr, ptTeletext,
  ptDolby, ptOther
}
 
- Static Protected Member Functions inherited from cDvbDevice
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)
 
- Static Protected Attributes inherited from cDvbDevice
static int setTransferModeForDolbyDigital = 1
 
- Static Protected Attributes inherited from cDevice
static int currentChannel = 1
 

Detailed Description

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

Definition at line 17 of file dvbsdffdevice.h.

Constructor & Destructor Documentation

cDvbSdFfDevice::cDvbSdFfDevice ( int  Adapter,
int  Frontend,
bool  OutputOnly 
)
cDvbSdFfDevice::~cDvbSdFfDevice ( )
virtual

Definition at line 71 of file dvbsdffdevice.c.

References spuDecoder.

Member Function Documentation

bool cDvbSdFfDevice::AvoidRecording ( void  ) const
virtual

Returns true if this device should only be used for recording if no other device is available.

Reimplemented from cDevice.

Definition at line 90 of file dvbsdffdevice.c.

bool cDvbSdFfDevice::CanReplay ( void  ) const
protectedvirtual

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

Reimplemented from cDevice.

Definition at line 496 of file dvbsdffdevice.c.

References cDevice::CanReplay().

void cDvbSdFfDevice::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 587 of file dvbsdffdevice.c.

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

bool cDvbSdFfDevice::Flush ( int  TimeoutMs = 0)
virtual

Returns true if the device's output buffers are empty, i.

e. any data which was buffered so far has been processed. If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case there is still data in the buffers.

Reimplemented from cDevice.

Definition at line 726 of file dvbsdffdevice.c.

void cDvbSdFfDevice::Freeze ( void  )
virtual

Puts the device into "freeze frame" mode.

Reimplemented from cDevice.

Definition at line 613 of file dvbsdffdevice.c.

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

int cDvbSdFfDevice::GetAudioChannelDevice ( void  )
protectedvirtual

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

Reimplemented from cDevice.

Definition at line 437 of file dvbsdffdevice.c.

References CHECK, and fd_audio.

void cDvbSdFfDevice::GetOsdSize ( int &  Width,
int &  Height,
double &  PixelAspect 
)
virtual

Returns the Width, Height and PixelAspect ratio the OSD should use to best fit the resolution of the output device.

If PixelAspect is not 1.0, the OSD may take this as a hint to scale its graphics in a way that, e.g., a circle will actually show up as a circle on the screen, and not as an ellipse. Values greater than 1.0 mean to stretch the graphics in the vertical direction (or shrink it in the horizontal direction, depending on which dimension shall be fixed). Values less than 1.0 work the other way round. Note that the OSD is not guaranteed to actually use this hint.

Reimplemented from cDevice.

Definition at line 265 of file dvbsdffdevice.c.

References fd_video, cDevice::GetOsdSize(), LOG_ERROR, Setup, and cSetup::VideoFormat.

cSpuDecoder * cDvbSdFfDevice::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 95 of file dvbsdffdevice.c.

References cDevice::IsPrimaryDevice(), and spuDecoder.

int64_t cDvbSdFfDevice::GetSTC ( void  )
virtual

Gets the current System Time Counter, which can be used to synchronize audio, video and subtitles.

If this device is able to replay, it must provide an STC. The value returned doesn't need to be an actual "clock" value, it is sufficient if it holds the PTS (Presentation Time Stamp) of the most recently presented frame. A proper value must be returned in normal replay mode as well as in any trick modes (like slow motion, fast forward/rewind). Only the lower 32 bit of this value are actually used, since some devices can't handle the msb correctly.

Reimplemented from cDevice.

Definition at line 567 of file dvbsdffdevice.c.

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

void cDvbSdFfDevice::GetVideoSize ( int &  Width,
int &  Height,
double &  VideoAspect 
)
virtual

Returns the Width, Height and VideoAspect ratio of the currently displayed video material.

Width and Height are given in pixel (e.g. 720x576) and VideoAspect is e.g. 1.33333 for a 4:3 broadcast, or 1.77778 for 16:9. The default implementation returns 0 for Width and Height and 1.0 for VideoAspect.

Reimplemented from cDevice.

Definition at line 244 of file dvbsdffdevice.c.

References fd_video, cDevice::GetVideoSize(), and LOG_ERROR.

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

Grabs the currently visible screen image.

Size is the size of the returned data block. If Jpeg is true it will write a JPEG file. Otherwise a PNM file will be written. Quality is 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 is the number of horizontal pixels in the frame (default is the current screen width). SizeY is 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 102 of file dvbsdffdevice.c.

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

bool cDvbSdFfDevice::HasDecoder ( void  ) const
virtual

Tells whether this device has an MPEG decoder.

Reimplemented from cDevice.

Definition at line 85 of file dvbsdffdevice.c.

void cDvbSdFfDevice::MakePrimaryDevice ( bool  On)
protectedvirtual

Informs a device that it will be the primary device.

If there is anything the device needs to set up when it becomes the primary device (On = true) or to shut down when it no longer is the primary device (On = false), it should do so in this function. A derived class must call the MakePrimaryDevice() function of its base class.

Reimplemented from cDevice.

Definition at line 78 of file dvbsdffdevice.c.

References fd_osd, and cDevice::MakePrimaryDevice().

void cDvbSdFfDevice::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 630 of file dvbsdffdevice.c.

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

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

Definition at line 350 of file dvbsdffdevice.c.

References cDvbDevice::NumProvidedSystems(), and outputOnly.

void cDvbSdFfDevice::Play ( void  )
virtual

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

Reimplemented from cDevice.

Definition at line 596 of file dvbsdffdevice.c.

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

int cDvbSdFfDevice::PlayAudio ( const uchar Data,
int  Length,
uchar  Id 
)
protectedvirtual

Plays the given data block as audio.

Data points to exactly one complete PES packet of the given Length. Id indicates the type of audio data this packet holds. PlayAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). Returns the number of bytes actually taken from Data, or -1 in case of an error.

Reimplemented from cDevice.

Definition at line 737 of file dvbsdffdevice.c.

References fd_audio, and WriteAllOrNothing().

int cDvbSdFfDevice::PlayTsAudio ( const uchar Data,
int  Length 
)
protectedvirtual

Plays the given data block as audio.

Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayAudio() with the resulting packet.

Reimplemented from cDevice.

Definition at line 747 of file dvbsdffdevice.c.

References fd_audio, and WriteAllOrNothing().

int cDvbSdFfDevice::PlayTsVideo ( const uchar Data,
int  Length 
)
protectedvirtual

Plays the given data block as video.

Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayVideo() with the resulting packet.

Reimplemented from cDevice.

Definition at line 742 of file dvbsdffdevice.c.

References fd_video, and WriteAllOrNothing().

int cDvbSdFfDevice::PlayVideo ( const uchar Data,
int  Length 
)
protectedvirtual

Plays the given data block as video.

Data points to exactly one complete PES packet of the given Length. PlayVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). Returns the number of bytes actually taken from Data, or -1 in case of an error.

Reimplemented from cDevice.

Definition at line 732 of file dvbsdffdevice.c.

References fd_video, and WriteAllOrNothing().

bool cDvbSdFfDevice::Poll ( cPoller Poller,
int  TimeoutMs = 0 
)
virtual

Returns true if the device itself or any of the file handles in Poller is ready for further action.

If TimeoutMs is not zero, the device will wait up to the given number of milliseconds before returning in case it can't accept any data.

Reimplemented from cDevice.

Definition at line 720 of file dvbsdffdevice.c.

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

bool cDvbSdFfDevice::ProvidesSource ( int  Source) const
virtual

Returns true if this device can provide the given source.

Reimplemented from cDvbDevice.

Definition at line 342 of file dvbsdffdevice.c.

References outputOnly, and cDvbDevice::ProvidesSource().

bool cDvbSdFfDevice::SetAudioBypass ( bool  On)
private

Definition at line 290 of file dvbsdffdevice.c.

References fd_audio, and cDvbDevice::setTransferModeForDolbyDigital.

Referenced by SetAudioTrackDevice(), and SetChannelDevice().

void cDvbSdFfDevice::SetAudioChannelDevice ( int  AudioChannel)
protectedvirtual

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

Reimplemented from cDevice.

Definition at line 444 of file dvbsdffdevice.c.

References CHECK, and fd_audio.

void cDvbSdFfDevice::SetAudioTrackDevice ( eTrackType  Type)
protectedvirtual
bool cDvbSdFfDevice::SetChannelDevice ( const cChannel Channel,
bool  LiveView 
)
protectedvirtual
void cDvbSdFfDevice::SetDigitalAudioDevice ( bool  On)
protectedvirtual

Tells the output device that the current audio track is Dolby Digital.

Only used by the original "full featured" DVB cards - do not use for new developments!

Reimplemented from cDevice.

Definition at line 459 of file dvbsdffdevice.c.

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

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

Definition at line 300 of file dvbsdffdevice.c.

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

Referenced by SetAudioTrackDevice().

bool cDvbSdFfDevice::SetPlayMode ( ePlayMode  PlayMode)
protectedvirtual

Sets the device into the given play mode.

Returns true if the operation was successful.

Reimplemented from cDevice.

Definition at line 501 of file dvbsdffdevice.c.

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

Referenced by SetPid().

void cDvbSdFfDevice::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! NOTE: this is only for SD devices. HD devices shall implement their own setup menu with the necessary parameters for controlling output.

Reimplemented from cDevice.

Definition at line 216 of file dvbsdffdevice.c.

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

Referenced by SetVideoFormat().

void cDvbSdFfDevice::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).

NOTE: this is only for SD devices. HD devices shall implement their own setup menu with the necessary parameters for controlling output.

Reimplemented from cDevice.

Definition at line 238 of file dvbsdffdevice.c.

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

Referenced by SetPlayMode().

void cDvbSdFfDevice::SetVolumeDevice ( int  Volume)
protectedvirtual

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

Reimplemented from cDevice.

Definition at line 449 of file dvbsdffdevice.c.

References CHECK, digitalAudio, and fd_audio.

Referenced by SetDigitalAudioDevice().

void cDvbSdFfDevice::StillPicture ( const uchar Data,
int  Length 
)
virtual

Displays the given I-frame as a still picture.

Data points either to a series of TS (first byte is 0x47) or PES (first byte is 0x00) data of the given Length. The default implementation converts TS to PES and calls itself again, allowing a derived class to display PES if it can't handle TS directly.

Reimplemented from cDevice.

Definition at line 639 of file dvbsdffdevice.c.

References CHECK, fd_video, MALLOC, cDevice::StillPicture(), and TS_SIZE.

void cDvbSdFfDevice::TrickSpeed ( int  Speed,
bool  Forward 
)
virtual

Sets the device into a mode where replay is done slower.

Every single frame shall then be displayed the given number of times. Forward is true if replay is done in the normal (forward) direction, false if it is done reverse. The cDvbPlayer uses the following values for the various speeds: 1x 2x 3x Fast Forward 6 3 1 Fast Reverse 6 3 1 Slow Forward 8 4 2 Slow Reverse 63 48 24

Reimplemented from cDevice.

Definition at line 581 of file dvbsdffdevice.c.

References CHECK, and fd_video.

void cDvbSdFfDevice::TurnOffLiveMode ( bool  LiveView)
private

Member Data Documentation

int cDvbSdFfDevice::devVideoIndex
private

Definition at line 57 of file dvbsdffdevice.h.

Referenced by cDvbSdFfDevice(), and GrabImage().

int cDvbSdFfDevice::devVideoOffset = -1
staticprivate

Definition at line 56 of file dvbsdffdevice.h.

Referenced by cDvbSdFfDevice().

bool cDvbSdFfDevice::digitalAudio
private

Definition at line 77 of file dvbsdffdevice.h.

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

int cDvbSdFfDevice::fd_audio
private
int cDvbSdFfDevice::fd_osd
private

Definition at line 19 of file dvbsdffdevice.h.

Referenced by cDvbSdFfDevice(), and MakePrimaryDevice().

int cDvbSdFfDevice::fd_stc
private

Definition at line 19 of file dvbsdffdevice.h.

Referenced by cDvbSdFfDevice(), and GetSTC().

int cDvbSdFfDevice::fd_video
private
bool cDvbSdFfDevice::outputOnly
private
ePlayMode cDvbSdFfDevice::playMode
protected

Definition at line 87 of file dvbsdffdevice.h.

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

cDvbSpuDecoder* cDvbSdFfDevice::spuDecoder
private

Definition at line 32 of file dvbsdffdevice.h.

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


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