vdr
1.7.27
|
#include <dvbhdffdevice.h>
Public Member Functions | |
cDvbHdFfDevice (int Adapter, int Frontend) | |
virtual | ~cDvbHdFfDevice () |
virtual bool | HasDecoder (void) const |
virtual cSpuDecoder * | GetSpuDecoder (void) |
virtual uchar * | GrabImage (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 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) |
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) |
Static Public Member Functions | |
static bool | Probe (int Adapter, int Frontend) |
static HDFF::cHdffCmdIf * | GetHdffCmdHandler (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 Attributes | |
ePlayMode | playMode |
Private Member Functions | |
void | TurnOffLiveMode (bool LiveView) |
void | BuildTsPacket (uint8_t *TsBuffer, bool PusiSet, uint16_t Pid, uint8_t Counter, const uint8_t *Data, uint32_t Length) |
uint32_t | PesToTs (uint8_t *TsBuffer, uint16_t Pid, uint8_t &Counter, const uint8_t *Data, uint32_t Length) |
Private Attributes | |
int | fd_osd |
int | fd_audio |
int | fd_video |
cDvbSpuDecoder * | spuDecoder |
int | audioChannel |
int | playVideoPid |
int | playAudioPid |
bool | freezed |
bool | trickMode |
uint8_t | videoCounter |
uint8_t | audioCounter |
bool | isHdffPrimary |
HDFF::cHdffCmdIf * | mHdffCmdIf |
Static Private Attributes | |
static int | devHdffOffset = -1 |
The cDvbHdFfDevice implements a DVB device which can be accessed through the Linux DVB driver API.
Definition at line 18 of file dvbhdffdevice.h.
cDvbHdFfDevice::cDvbHdFfDevice | ( | int | Adapter, |
int | Frontend | ||
) |
Definition at line 30 of file dvbhdffdevice.c.
References cDvbDevice::adapter, cHdffSetup::AnalogueVideo, audioChannel, cHdffSetup::AudioDelay, cHdffSetup::AudioDownmix, HdffHdmiConfig_t::CecDeviceName, cHdffSetup::CecEnabled, HdffHdmiConfig_t::CecEnabled, HDFF::cHdffCmdIf::CmdAvEnableSync(), HDFF::cHdffCmdIf::CmdAvEnableVideoAfterStop(), HDFF::cHdffCmdIf::CmdAvSetAudioDelay(), HDFF::cHdffCmdIf::CmdAvSetAudioDownmix(), HDFF::cHdffCmdIf::CmdAvSetAudioPid(), HDFF::cHdffCmdIf::CmdAvSetAudioSpeed(), HDFF::cHdffCmdIf::CmdAvSetDecoderInput(), HDFF::cHdffCmdIf::CmdAvSetPcrPid(), HDFF::cHdffCmdIf::CmdAvSetPlayMode(), HDFF::cHdffCmdIf::CmdAvSetVideoPid(), HDFF::cHdffCmdIf::CmdAvSetVideoSpeed(), HDFF::cHdffCmdIf::CmdHdmiConfigure(), HDFF::cHdffCmdIf::CmdHdmiSetVideoMode(), HDFF::cHdffCmdIf::CmdMuxSetVideoOut(), HDFF::cHdffCmdIf::CmdOsdReset(), HDFF::cHdffCmdIf::CmdRemoteSetAddressFilter(), HDFF::cHdffCmdIf::CmdRemoteSetProtocol(), DEV_DVB_AUDIO, DEV_DVB_OSD, DEV_DVB_VIDEO, devHdffOffset, cDvbDevice::DvbOpen(), fd_audio, fd_osd, fd_video, HdffHdmiConfig_t::ForceDviMode, cDvbDevice::frontend, cHdffSetup::GetVideoMode(), gHdffSetup, HDFF_AUDIO_STREAM_MPEG1, HDFF_VIDEO_STREAM_MPEG1, isHdffPrimary, mHdffCmdIf, playMode, pmNone, cHdffSetup::RemoteAddress, cHdffSetup::RemoteProtocol, spuDecoder, HdffHdmiConfig_t::TransmitAudio, cHdffSetup::VideoModeAdaption, and HdffHdmiConfig_t::VideoModeAdaption.
cDvbHdFfDevice::~cDvbHdFfDevice | ( | ) | [virtual] |
Definition at line 89 of file dvbhdffdevice.c.
References cHdffSetup::CecEnabled, cHdffSetup::CecTvOff, HDFF::cHdffCmdIf::CmdHdmiSendCecCommand(), gHdffSetup, HDFF_CEC_COMMAND_TV_OFF, isHdffPrimary, mHdffCmdIf, and spuDecoder.
void cDvbHdFfDevice::BuildTsPacket | ( | uint8_t * | TsBuffer, |
bool | PusiSet, | ||
uint16_t | Pid, | ||
uint8_t | Counter, | ||
const uint8_t * | Data, | ||
uint32_t | Length | ||
) | [private] |
Definition at line 575 of file dvbhdffdevice.c.
Referenced by PesToTs().
bool cDvbHdFfDevice::CanReplay | ( | void | ) | const [protected, virtual] |
Returns true if this device can currently start a replay session.
Reimplemented from cDevice.
Definition at line 364 of file dvbhdffdevice.c.
void cDvbHdFfDevice::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 440 of file dvbhdffdevice.c.
References CHECK, HDFF::cHdffCmdIf::CmdAvSetAudioPid(), HDFF::cHdffCmdIf::CmdAvSetVideoPid(), fd_video, HDFF_AUDIO_STREAM_MPEG1, HDFF_VIDEO_STREAM_MPEG1, mHdffCmdIf, playAudioPid, and playVideoPid.
bool cDvbHdFfDevice::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 569 of file dvbhdffdevice.c.
void cDvbHdFfDevice::Freeze | ( | void | ) | [virtual] |
Puts the device into "freeze frame" mode.
Reimplemented from cDevice.
Definition at line 460 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvSetAudioSpeed(), HDFF::cHdffCmdIf::CmdAvSetVideoSpeed(), freezed, and mHdffCmdIf.
int cDvbHdFfDevice::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 318 of file dvbhdffdevice.c.
References audioChannel.
HDFF::cHdffCmdIf * cDvbHdFfDevice::GetHdffCmdHandler | ( | void | ) | [static] |
Definition at line 753 of file dvbhdffdevice.c.
References devHdffOffset, cDevice::device, cDevice::GetDevice(), and mHdffCmdIf.
Referenced by cPluginDvbhddevice::MainMenuAction(), cPluginDvbhddevice::MainThreadHook(), and cPluginDvbhddevice::SetupMenu().
void cDvbHdFfDevice::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 181 of file dvbhdffdevice.c.
References cHdffSetup::GetOsdSize(), and gHdffSetup.
cSpuDecoder * cDvbHdFfDevice::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 116 of file dvbhdffdevice.c.
References cDevice::IsPrimaryDevice(), and spuDecoder.
int64_t cDvbHdFfDevice::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 408 of file dvbhdffdevice.c.
References cDevice::CardIndex(), esyslog, fd_audio, and fd_video.
void cDvbHdFfDevice::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 160 of file dvbhdffdevice.c.
eVideoSystem cDvbHdFfDevice::GetVideoSystem | ( | void | ) | [virtual] |
uchar * cDvbHdFfDevice::GrabImage | ( | int & | Size, |
bool | Jpeg = true , |
||
int | Quality = -1 , |
||
int | SizeX = -1 , |
||
int | SizeY = -1 |
||
) | [virtual] |
Grabs the currently visible screen image.
Size | The size of the returned data block. |
Jpeg | If true will write a JPEG file. Otherwise a PNM file will be written. |
Quality | The compression factor for JPEG. 1 will create a very blocky and small image, 70..80 will yield reasonable quality images while keeping the image file size around 50 KB for a full frame. The default will create a big but very high quality image. |
SizeX | The number of horizontal pixels in the frame (default is the current screen width). |
SizeY | The number of vertical pixels in the frame (default is the current screen height). |
Reimplemented from cDevice.
Definition at line 123 of file dvbhdffdevice.c.
bool cDvbHdFfDevice::HasDecoder | ( | void | ) | const [virtual] |
Tells whether this device has an MPEG decoder.
Reimplemented from cDevice.
Definition at line 111 of file dvbhdffdevice.c.
References isHdffPrimary.
void cDvbHdFfDevice::MakePrimaryDevice | ( | bool | On | ) | [protected, virtual] |
Informs a device that it will be the primary device.
If there is anything the device needs to set up when it becomes the primary device (On = true) or to shut down when it no longer is the primary device (On = false), it should do so in this function. A derived class must call the MakePrimaryDevice() function of its base class.
Reimplemented from cDevice.
Definition at line 104 of file dvbhdffdevice.c.
References mHdffCmdIf.
void cDvbHdFfDevice::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 468 of file dvbhdffdevice.c.
uint32_t cDvbHdFfDevice::PesToTs | ( | uint8_t * | TsBuffer, |
uint16_t | Pid, | ||
uint8_t & | Counter, | ||
const uint8_t * | Data, | ||
uint32_t | Length | ||
) | [private] |
Definition at line 602 of file dvbhdffdevice.c.
References BuildTsPacket().
Referenced by PlayAudio(), and PlayVideo().
void cDvbHdFfDevice::Play | ( | void | ) | [virtual] |
Sets the device into play mode (after a previous trick mode).
Reimplemented from cDevice.
Definition at line 450 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvEnableSync(), HDFF::cHdffCmdIf::CmdAvSetAudioSpeed(), HDFF::cHdffCmdIf::CmdAvSetVideoSpeed(), freezed, mHdffCmdIf, and trickMode.
int cDvbHdFfDevice::PlayAudio | ( | const uchar * | Data, |
int | Length, | ||
uchar | Id | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete PES packet of the given Length. Id indicates the type of audio data this packet holds. PlayAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented from cDevice.
Definition at line 643 of file dvbhdffdevice.c.
References audioCounter, HDFF::cHdffCmdIf::CmdAvSetAudioPid(), fd_video, freezed, HDFF_AUDIO_STREAM_AC3, HDFF_AUDIO_STREAM_DTS, HDFF_AUDIO_STREAM_MPEG1, HDFF_AUDIO_STREAM_PCM, HDFF_AV_CONTAINER_PES, HDFF_AV_CONTAINER_PES_DVD, mHdffCmdIf, PesToTs(), playAudioPid, trickMode, cDvbDevice::tsBuffer, and WriteAllOrNothing().
int cDvbHdFfDevice::PlayTsAudio | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as audio.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsAudio() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayAudio() with the resulting packet.
Reimplemented from cDevice.
Definition at line 724 of file dvbhdffdevice.c.
References cPatPmtParser::Apid(), cPatPmtParser::Atype(), HDFF::cHdffCmdIf::CmdAvSetAudioPid(), cPatPmtParser::Dpid(), cPatPmtParser::Dtype(), fd_video, freezed, MapAudioStreamTypes(), mHdffCmdIf, cDevice::PatPmtParser(), playAudioPid, trickMode, TsPid(), and WriteAllOrNothing().
int cDvbHdFfDevice::PlayTsVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete TS packet of the given Length (which is always TS_SIZE). PlayTsVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). The default implementation collects all incoming TS payload belonging to one PES packet and calls PlayVideo() with the resulting packet.
Reimplemented from cDevice.
Definition at line 696 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvSetVideoPid(), fd_video, freezed, MapVideoStreamTypes(), mHdffCmdIf, cDevice::PatPmtParser(), playVideoPid, TsPid(), and WriteAllOrNothing().
int cDvbHdFfDevice::PlayVideo | ( | const uchar * | Data, |
int | Length | ||
) | [protected, virtual] |
Plays the given data block as video.
Data points to exactly one complete PES packet of the given Length. PlayVideo() shall process the packet either as a whole (returning Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
Reimplemented from cDevice.
Definition at line 623 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvSetVideoPid(), fd_video, freezed, HDFF_VIDEO_STREAM_MPEG2, mHdffCmdIf, PesToTs(), playVideoPid, cDvbDevice::tsBuffer, videoCounter, and WriteAllOrNothing().
bool cDvbHdFfDevice::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 563 of file dvbhdffdevice.c.
References cPoller::Add(), fd_video, and cPoller::Poll().
static bool cDvbHdFfDevice::Probe | ( | int | Adapter, |
int | Frontend | ||
) | [static] |
Probes for existing DVB devices.
Reimplemented from cDvbDevice.
void cDvbHdFfDevice::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 323 of file dvbhdffdevice.c.
References audioChannel, HDFF::cHdffCmdIf::CmdAvSetAudioChannel(), and mHdffCmdIf.
void cDvbHdFfDevice::SetAudioTrackDevice | ( | eTrackType | Type | ) | [protected, virtual] |
Sets the current audio track to the given value.
Reimplemented from cDevice.
Definition at line 339 of file dvbhdffdevice.c.
References cDevice::CamSlot(), cDevice::DetachAll(), cDevice::GetTrack(), tTrackId::id, IS_AUDIO_TRACK, IS_DOLBY_TRACK, cDevice::cPidHandle::pid, cDevice::pidHandles, cDevice::ptAudio, cDevice::ptDolby, SetPid(), cCamSlot::SetPid(), and cCamSlot::StartDecrypting().
bool cDvbHdFfDevice::SetChannelDevice | ( | const cChannel * | Channel, |
bool | LiveView | ||
) | [protected, virtual] |
Sets the device to the given channel (actual physical setup).
Reimplemented from cDvbDevice.
Definition at line 265 of file dvbhdffdevice.c.
References cDevice::AddPid(), cChannel::Apid(), cChannel::Ca(), CA_ENCRYPTED_MIN, cChannelCamRelations::CamDecrypt(), cDevice::CamSlot(), cDevice::CardIndex(), ChannelCamRelations, cChannel::Dpid(), esyslog, cChannel::GetChannelID(), cDevice::HasPid(), cDevice::IsPrimaryDevice(), cDvbDevice::IsTunedToTransponder(), cControl::Launch(), cChannel::Number(), cDevice::cPidHandle::pid, cDevice::pidHandles, cChannel::Ppid(), cDevice::ptAudio, cDevice::ptPcr, cDevice::ptTeletext, cDevice::ptVideo, cDvbDevice::SetChannelDevice(), cCamSlot::SlotNumber(), cChannel::Tpid(), TurnOffLiveMode(), cChannel::Vpid(), and cChannel::Vtype().
void cDvbHdFfDevice::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 334 of file dvbhdffdevice.c.
bool cDvbHdFfDevice::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 cDvbDevice.
Definition at line 195 of file dvbhdffdevice.c.
References cDvbDevice::adapter, CHECK, HDFF::cHdffCmdIf::CmdAvSetAudioPid(), HDFF::cHdffCmdIf::CmdAvSetPcrPid(), HDFF::cHdffCmdIf::CmdAvSetVideoPid(), DEV_DVB_DEMUX, cDvbDevice::DvbOpen(), cDvbDevice::frontend, cDevice::cPidHandle::handle, HDFF_AUDIO_STREAM_AC3, HDFF_AUDIO_STREAM_MPEG1, HDFF_VIDEO_STREAM_H264, HDFF_VIDEO_STREAM_MPEG1, HDFF_VIDEO_STREAM_MPEG2, LOG_ERROR, mHdffCmdIf, cDevice::cPidHandle::pid, cDevice::ptAudio, cDevice::ptDolby, cDevice::ptPcr, cDevice::ptVideo, cDevice::cPidHandle::streamType, and cDevice::cPidHandle::used.
Referenced by SetAudioTrackDevice().
bool cDvbHdFfDevice::SetPlayMode | ( | ePlayMode | PlayMode | ) | [protected, virtual] |
Sets the device into the given play mode.
Reimplemented from cDevice.
Definition at line 369 of file dvbhdffdevice.c.
References audioCounter, HDFF::cHdffCmdIf::CmdAvEnableSync(), HDFF::cHdffCmdIf::CmdAvEnableVideoAfterStop(), HDFF::cHdffCmdIf::CmdAvSetAudioPid(), HDFF::cHdffCmdIf::CmdAvSetAudioSpeed(), HDFF::cHdffCmdIf::CmdAvSetDecoderInput(), HDFF::cHdffCmdIf::CmdAvSetPcrPid(), HDFF::cHdffCmdIf::CmdAvSetPlayMode(), HDFF::cHdffCmdIf::CmdAvSetStc(), HDFF::cHdffCmdIf::CmdAvSetVideoPid(), HDFF::cHdffCmdIf::CmdAvSetVideoSpeed(), fd_video, freezed, HDFF_AUDIO_STREAM_MPEG1, HDFF_VIDEO_STREAM_MPEG1, mHdffCmdIf, playAudioPid, playMode, playVideoPid, pmNone, cTransferControl::ReceiverDevice(), cDevice::Transferring(), trickMode, TurnOffLiveMode(), and videoCounter.
void cDvbHdFfDevice::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 129 of file dvbhdffdevice.c.
void cDvbHdFfDevice::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 135 of file dvbhdffdevice.c.
References HdffVideoFormat_t::AfdEnabled, HdffVideoFormat_t::AutomaticEnabled, HDFF::cHdffCmdIf::CmdAvSetVideoFormat(), gHdffSetup, mHdffCmdIf, cHdffSetup::TvFormat, HdffVideoFormat_t::TvFormat, cHdffSetup::VideoConversion, and HdffVideoFormat_t::VideoConversion.
void cDvbHdFfDevice::SetVolumeDevice | ( | int | Volume | ) | [protected, virtual] |
Sets the audio volume on this device (Volume = 0...255).
Reimplemented from cDevice.
Definition at line 329 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdMuxSetVolume(), and mHdffCmdIf.
void cDvbHdFfDevice::StillPicture | ( | const uchar * | Data, |
int | Length | ||
) | [virtual] |
Displays the given I-frame as a still picture.
Data points either to TS (first byte is 0x47) or PES (first byte is 0x00) data of the given Length. The default implementation converts TS to PES and calls itself again, allowing a derived class to display PES if it can't handle TS directly.
Reimplemented from cDevice.
Definition at line 484 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvShowStillImage(), MALLOC, MapVideoStreamTypes(), mHdffCmdIf, cDevice::PatPmtParser(), and TS_SIZE.
void cDvbHdFfDevice::TrickSpeed | ( | int | Speed | ) | [virtual] |
Sets the device into a mode where replay is done slower.
Every single frame shall then be displayed the given number of times. The cDvbPlayer uses the following values for the various speeds: 1x 2x 3x Fast Forward 6 3 1 Fast Reverse 6 3 1 Slow Forward 8 4 2 Slow Reverse 63 48 24
Reimplemented from cDevice.
Definition at line 429 of file dvbhdffdevice.c.
References HDFF::cHdffCmdIf::CmdAvEnableSync(), HDFF::cHdffCmdIf::CmdAvSetAudioPid(), HDFF::cHdffCmdIf::CmdAvSetVideoSpeed(), freezed, HDFF_AUDIO_STREAM_MPEG1, mHdffCmdIf, playAudioPid, and trickMode.
void cDvbHdFfDevice::TurnOffLiveMode | ( | bool | LiveView | ) | [private] |
Definition at line 250 of file dvbhdffdevice.c.
References cDevice::DelPid(), cDevice::DetachAll(), cDevice::pidHandles, cDevice::ptAudio, cDevice::ptDolby, cDevice::ptPcr, cDevice::ptTeletext, and cDevice::ptVideo.
Referenced by SetChannelDevice(), and SetPlayMode().
int cDvbHdFfDevice::audioChannel [private] |
Definition at line 70 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), GetAudioChannelDevice(), and SetAudioChannelDevice().
uint8_t cDvbHdFfDevice::audioCounter [private] |
Definition at line 87 of file dvbhdffdevice.h.
Referenced by PlayAudio(), and SetPlayMode().
int cDvbHdFfDevice::devHdffOffset = -1 [static, private] |
Definition at line 115 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), and GetHdffCmdHandler().
int cDvbHdFfDevice::fd_audio [private] |
Definition at line 20 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), and GetSTC().
int cDvbHdFfDevice::fd_osd [private] |
Definition at line 20 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice().
int cDvbHdFfDevice::fd_video [private] |
Definition at line 20 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), Clear(), GetSTC(), GetVideoSize(), GetVideoSystem(), PlayAudio(), PlayTsAudio(), PlayTsVideo(), PlayVideo(), Poll(), and SetPlayMode().
bool cDvbHdFfDevice::freezed [private] |
Definition at line 82 of file dvbhdffdevice.h.
Referenced by Freeze(), Play(), PlayAudio(), PlayTsAudio(), PlayTsVideo(), PlayVideo(), SetPlayMode(), and TrickSpeed().
bool cDvbHdFfDevice::isHdffPrimary [private] |
Definition at line 116 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), HasDecoder(), and ~cDvbHdFfDevice().
HDFF::cHdffCmdIf* cDvbHdFfDevice::mHdffCmdIf [private] |
Definition at line 117 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), Clear(), Freeze(), GetHdffCmdHandler(), MakePrimaryDevice(), Play(), PlayAudio(), PlayTsAudio(), PlayTsVideo(), PlayVideo(), SetAudioChannelDevice(), SetPid(), SetPlayMode(), SetVideoFormat(), SetVolumeDevice(), StillPicture(), TrickSpeed(), and ~cDvbHdFfDevice().
int cDvbHdFfDevice::playAudioPid [private] |
Definition at line 81 of file dvbhdffdevice.h.
Referenced by Clear(), PlayAudio(), PlayTsAudio(), SetPlayMode(), and TrickSpeed().
ePlayMode cDvbHdFfDevice::playMode [protected] |
Definition at line 92 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), and SetPlayMode().
int cDvbHdFfDevice::playVideoPid [private] |
Definition at line 80 of file dvbhdffdevice.h.
Referenced by Clear(), PlayTsVideo(), PlayVideo(), and SetPlayMode().
cDvbSpuDecoder* cDvbHdFfDevice::spuDecoder [private] |
Definition at line 32 of file dvbhdffdevice.h.
Referenced by cDvbHdFfDevice(), GetSpuDecoder(), and ~cDvbHdFfDevice().
bool cDvbHdFfDevice::trickMode [private] |
Definition at line 83 of file dvbhdffdevice.h.
Referenced by Play(), PlayAudio(), PlayTsAudio(), SetPlayMode(), and TrickSpeed().
uint8_t cDvbHdFfDevice::videoCounter [private] |
Definition at line 86 of file dvbhdffdevice.h.
Referenced by PlayVideo(), and SetPlayMode().