43 int PlayPes(
const uchar *Data,
int Length,
bool VideoOnly =
false);
57 virtual bool GetIndex(
int &Current,
int &Total,
bool SnapToIFrame =
false) {
return false; }
87 virtual void Hide(
void) = 0;
102 bool GetIndex(
int &Current,
int &Total,
bool SnapToIFrame =
false) {
return player->
GetIndex(Current, Total, SnapToIFrame); }
static cControl * control
void DeviceClrAvailableTracks(bool DescriptionsOnly=false)
#define DEFAULTFRAMESPERSECOND
virtual cOsdObject * GetInfo(void)
Returns an OSD object that displays information about the currently played programme.
bool GetIndex(int &Current, int &Total, bool SnapToIFrame=false)
double FramesPerSecond(void)
bool DeviceSetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language=NULL, const char *Description=NULL)
virtual const cRecording * GetRecording(void)
Returns the cRecording that is currently being replayed, or NULL if this player is not playing a cRec...
bool DeviceSetCurrentAudioTrack(eTrackType Type)
virtual void SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat)
Sets the video display format to the given one (only useful if this device has an MPEG decoder)...
static cControl * Control(bool Hidden=false)
Returns the current replay control (if any) in case it is currently visible.
bool SetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language=NULL, const char *Description=NULL)
Sets the track of the given Type and Index to the given values.
virtual void Play(void)
Sets the device into play mode (after a previous trick mode).
bool GetReplayMode(bool &Play, bool &Forward, int &Speed)
virtual void Clear(void)
Clears all video and audio data from the device.
virtual bool HasIBPTrickSpeed(void)
Returns true if this device can handle all frames in 'fast forward' trick speeds. ...
int PlayPes(const uchar *Data, int Length, bool VideoOnly=false)
virtual bool GetReplayMode(bool &Play, bool &Forward, int &Speed)
bool DeviceHasIBPTrickSpeed(void)
virtual void Mute(void)
Turns off audio while replaying.
bool SetCurrentAudioTrack(eTrackType Type)
Sets the current audio track to the given Type.
virtual double FramesPerSecond(void)
virtual void SetAudioTrack(eTrackType Type, const tTrackId *TrackId)
virtual void Freeze(void)
Puts the device into "freeze frame" mode.
virtual void Activate(bool On)
void DeviceStillPicture(const uchar *Data, int Length)
void ClrAvailableTracks(bool DescriptionsOnly=false, bool IdsOnly=false)
Clears the list of currently available tracks.
static void Launch(cControl *Control)
virtual bool Flush(int TimeoutMs=0)
Returns true if the device's output buffers are empty, i.
bool DevicePoll(cPoller &Poller, int TimeoutMs=0)
bool DeviceIsPlayingVideo(void)
virtual void SetSubtitleTrack(eTrackType Type, const tTrackId *TrackId)
virtual int PlayTs(const uchar *Data, int Length, bool VideoOnly=false)
Plays the given TS packet.
cControl(cPlayer *Player, bool Hidden=false)
int PlayTs(const uchar *Data, int Length, bool VideoOnly=false)
void DeviceTrickSpeed(int Speed, bool Forward)
void DeviceSetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat)
uint64_t DeviceGetSTC(void)
virtual bool GetIndex(int &Current, int &Total, bool SnapToIFrame=false)
virtual bool Poll(cPoller &Poller, int TimeoutMs=0)
Returns true if the device itself or any of the file handles in Poller is ready for further action...
virtual int64_t GetSTC(void)
Gets the current System Time Counter, which can be used to synchronize audio, video and subtitles...
virtual bool IsPlayingVideo(void) const
Returns true if the currently attached player has delivered any video packets.
virtual cString GetHeader(void)
This can be used by players that don't play a cRecording, but rather do something completely differen...
virtual void TrickSpeed(int Speed, bool Forward)
Sets the device into a mode where replay is done slower.
bool DeviceFlush(int TimeoutMs=0)
bool SetCurrentSubtitleTrack(eTrackType Type, bool Manual=false)
Sets the current subtitle track to the given Type.
bool DeviceSetCurrentSubtitleTrack(eTrackType Type)
virtual void StillPicture(const uchar *Data, int Length)
Displays the given I-frame as a still picture.
static void Shutdown(void)
The cDevice class is the base from which actual devices can be derived.
cPlayer(ePlayMode PlayMode=pmAudioVideo)
virtual void Hide(void)=0