26 bool DevicePoll(
cPoller &Poller,
int TimeoutMs = 0) {
return device ? device->
Poll(Poller, TimeoutMs) :
false; }
27 bool DeviceFlush(
int TimeoutMs = 0) {
return device ? device->
Flush(TimeoutMs) :
true; }
43 int PlayPes(
const uchar *Data,
int Length,
bool VideoOnly =
false);
47 int PlayTs(
const uchar *Data,
int Length,
bool VideoOnly =
false) {
return device ? device->
PlayTs(Data, Length, VideoOnly) : -1; }
57 virtual bool GetIndex(
int &Current,
int &Total,
bool SnapToIFrame =
false) {
return false; }
91 virtual void Hide(
void) = 0;
99 virtual cString GetHeader(
void);
111 bool GetIndex(
int &Current,
int &Total,
bool SnapToIFrame =
false)
const {
return player ? player->
GetIndex(Current, Total, SnapToIFrame) :
false; }
114 static void Launch(
cControl *Control);
115 static void Attach(
void);
116 static void Shutdown(
void);
117 static cControl *Control(
bool Hidden =
false);
static cControl * control
bool GetReplayMode(bool &Play, bool &Forward, int &Speed) const
void DeviceClrAvailableTracks(bool DescriptionsOnly=false)
#define DEFAULTFRAMESPERSECOND
bool GetIndex(int &Current, int &Total, bool SnapToIFrame=false) const
bool DeviceSetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language=NULL, const char *Description=NULL)
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)...
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).
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)
virtual bool GetFrameNumber(int &Current, int &Total)
void DeviceStillPicture(const uchar *Data, int Length)
virtual bool IsPlayingVideo(void) const
Returns true if the currently attached player has delivered any video packets.
void ClrAvailableTracks(bool DescriptionsOnly=false, bool IdsOnly=false)
Clears the list of currently available tracks.
virtual bool Flush(int TimeoutMs=0)
Returns true if the device's output buffers are empty, i.
double FramesPerSecond(void) const
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.
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 void ClearEditingMarks(void)
Clears any editing marks this player might be showing.
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 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.
cPlayer(ePlayMode PlayMode=pmAudioVideo)
bool GetFrameNumber(int &Current, int &Total) const