You.i Engine
YiCastLabsVideoPlayer.h
Go to the documentation of this file.
1 #ifndef _YI_CASTLABS_VIDEO_PLAYER_H_
2 #define _YI_CASTLABS_VIDEO_PLAYER_H_
3 
5 #include "signal/YiSignal.h"
6 
7 class CYICastLabsVideoPlayerPriv;
8 
15 {
17 
18 public:
20  virtual ~CYICastLabsVideoPlayer();
21 
29  void SetMaxResolution(const glm::ivec2 &rMaxResolution);
30 
37  void SetMinimumBufferTime(uint64_t minimumBufferTimeMs);
38 
46  void SetMaximumBufferTime(uint64_t maximumBufferTimeMs);
47 
52  void SetLiveDelayTime(uint64_t liveDelayTimeMs);
53 
57  void SetLoggingEnabled(bool enabled);
58 
62  bool IsLoggingEnabled() const;
63 
64  virtual CYIString GetName_() const override;
65  virtual Statistics GetStatistics_() const override;
66  virtual TimedMetadataInterface *GetTimedMetadataInterface_() const override;
68 
69 private:
70  virtual std::unique_ptr<CYIVideoSurface> CreateSurface_() override;
71  virtual bool SupportsFormat_(StreamingFormat format, DRMScheme drmScheme) const override;
72  virtual void Prepare_(const CYIUrl &videoURI, StreamingFormat formatHint) override;
73  virtual void Play_() override;
74  virtual void Pause_() override;
75  virtual void Stop_() override;
76  virtual uint64_t GetDurationMs_() const override;
77  virtual uint64_t GetCurrentTimeMs_() const override;
78  virtual std::vector<SeekableRange> GetLiveSeekableRanges_() const override;
79  virtual void Seek_(uint64_t seekPositionMs) override;
80  virtual void SetMaxBitrate_(uint64_t maxBitrate) override;
81  virtual void SetUserAgent_(const CYIString &userAgent) override;
82 
83  virtual bool IsMuted_() const override;
84  virtual void Mute_(bool mute) override;
85  virtual bool SelectAudioTrack_(uint32_t id) override;
86  virtual std::vector<AudioTrackInfo> GetAudioTracks_() const override;
87  virtual AudioTrackInfo GetActiveAudioTrack_() const override;
88  virtual bool HasNativeStartTimeHandling_() const override;
89  virtual bool HasNativeSeekEventHandling_() const override;
90 
91  virtual void DisableClosedCaptions_() override;
92  virtual bool SelectClosedCaptionsTrack_(uint32_t id) override;
93  virtual std::vector<CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo> GetClosedCaptionsTracks_() const override;
94  virtual CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo GetActiveClosedCaptionsTrack_() const override;
95 
96  std::unique_ptr<CYICastLabsVideoPlayerPriv> m_pPriv;
97 
99 };
100 
105 #endif
void SetLoggingEnabled(bool enabled)
Definition: YiAbstractVideoPlayer.h:203
void SetLiveDelayTime(uint64_t liveDelayTimeMs)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:36
void SetMinimumBufferTime(uint64_t minimumBufferTimeMs)
void SetMaxResolution(const glm::ivec2 &rMaxResolution)
Definition: YiAbstractVideoPlayer.h:313
virtual CYIString GetName_() const override
Definition: YiCastLabsVideoPlayer.h:14
An abstract video player that provides a basic interface that all subclasses must implement...
Definition: YiAbstractVideoPlayer.h:56
virtual TimedMetadataInterface * GetTimedMetadataInterface_() const override
bool IsLoggingEnabled() const
A class used to encapsulate an URL.
Definition: YiUrl.h:24
Definition: YiAbstractVideoPlayer.h:472
StreamingFormat
Definition: YiAbstractVideoPlayer.h:103
Definition: YiAbstractVideoPlayer.h:574
#define YI_TYPE_BASES(CLASS, BASES...)
Definition: YiRtti.h:257
void SetMaximumBufferTime(uint64_t maximumBufferTimeMs)
virtual Statistics GetStatistics_() const override
DRMScheme
Definition: YiAbstractVideoPlayer.h:116
friend class CYICastLabsVideoPlayerPriv
Definition: YiCastLabsVideoPlayer.h:16
Definition: YiAbstractVideoPlayer.h:227
virtual VideoRequestHTTPHeadersInterface * GetVideoRequestHTTPHeadersInterface_() override
virtual ~CYICastLabsVideoPlayer()