You.i Engine
YiAVPlayer.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_AV_PLAYER_H_
3 #define _YI_AV_PLAYER_H_
4 
6 
7 class CYIAVPlayerPriv;
8 
20 {
21  friend class CYIAVPlayerPriv;
22 public:
23  CYIAVPlayer();
24  virtual ~CYIAVPlayer();
25 
31  const std::vector<CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo> GetClosedCaptionsTracksFromMediaSelectionGroup() const;
32 
40  const std::vector<CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo> GetClosedCaptionsTracksFromTrackList() const;
41 
48  void EnableAutoExternalPlaybackWhenAvailable(bool bEnabled);
49 
50 private:
51  virtual CYIString GetName_() const override;
52  virtual CYIString GetVersion_() const override;
53  virtual Statistics GetStatistics_() const override;
54  virtual std::unique_ptr<CYIVideoSurface> CreateSurface_() override;
55  virtual bool SupportsFormat_(STREAMING_FORMAT eFormat, DRM_SCHEME eDRMScheme) const override;
56  virtual void Prepare_(const CYIUrl &videoURI, STREAMING_FORMAT eFormatHint) override;
57  virtual void Play_() override;
58  virtual void Pause_() override;
59  virtual void Stop_() override;
60  virtual uint64_t GetDurationMs_() const override;
61  virtual uint64_t GetCurrentTimeMs_() const override;
62  virtual void Seek_(uint64_t uSeekPositionMs) override;
63 
64  virtual bool IsMuted_() const override;
65  virtual void Mute_(bool bMute) override;
66  virtual bool SelectAudioTrack_(uint32_t uID) override;
67  virtual std::vector<AudioTrackInfo> GetAudioTracks_() const override;
68  virtual AudioTrackInfo GetActiveAudioTrack_() const override;
69 
70  virtual bool SelectClosedCaptionsTrack_(uint32_t uID) override;
71  virtual std::vector<ClosedCaptionsTrackInfo> GetClosedCaptionsTracks_() const override;
72  virtual ClosedCaptionsTrackInfo GetActiveClosedCaptionsTrack_() const override;
73  virtual void DisableClosedCaptions_() override;
74 
75  virtual void SetMaxBitrate_(uint64_t uMaxBitrate) override;
76 
77  CYIAVPlayerPriv *m_pPriv;
78 
80 };
81 
86 #endif //ifndef _YI_AV_PLAYER_H_
Definition: YiAbstractVideoPlayer.h:189
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
void EnableAutoExternalPlaybackWhenAvailable(bool bEnabled)
virtual ~CYIAVPlayer()
const std::vector< CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo > GetClosedCaptionsTracksFromTrackList() const
DRM_SCHEME
Definition: YiAbstractVideoPlayer.h:112
An abstract video player that provides a basic interface that all subclasses must implement...
Definition: YiAbstractVideoPlayer.h:55
friend class CYIAVPlayerPriv
Definition: YiAVPlayer.h:21
A class used to encapsulate an URL.
Definition: YiUrl.h:24
Definition: YiAbstractVideoPlayer.h:238
STREAMING_FORMAT
Definition: YiAbstractVideoPlayer.h:99
Implementation of abstract video player for iOS, tvOs and OSX.
Definition: YiAVPlayer.h:19
Definition: YiAbstractVideoPlayer.h:203
const std::vector< CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo > GetClosedCaptionsTracksFromMediaSelectionGroup() const