You.i Engine
YiAVPlayer.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2020. 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 
23 public:
24  CYIAVPlayer();
25  virtual ~CYIAVPlayer();
26 
32  const std::vector<CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo> GetClosedCaptionsTracksFromMediaSelectionGroup() const;
33 
41  const std::vector<CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo> GetClosedCaptionsTracksFromTrackList() const;
42 
49  void EnableAutoExternalPlaybackWhenAvailable(bool enabled);
50 
51 private:
52  virtual CYIString GetName_() const override;
53  virtual CYIString GetVersion_() const override;
54  virtual Statistics GetStatistics_() const override;
55  virtual std::unique_ptr<CYIVideoSurface> CreateSurface_() override;
56  virtual bool SupportsFormat_(StreamingFormat format, DRMScheme drmScheme) const override;
57  virtual void Prepare_(const CYIUrl &videoURI, StreamingFormat formatHint) override;
58  virtual void Play_() override;
59  virtual void Pause_() override;
60  virtual void Stop_() override;
61  virtual uint64_t GetDurationMs_() const override;
62  virtual uint64_t GetCurrentTimeMs_() const override;
63  virtual std::vector<SeekableRange> GetLiveSeekableRanges_() const override;
64  virtual void Seek_(uint64_t seekPositionMs) override;
65 
66  virtual bool IsMuted_() const override;
67  virtual void Mute_(bool mute) override;
68  virtual bool SelectAudioTrack_(uint32_t id) override;
69  virtual std::vector<AudioTrackInfo> GetAudioTracks_() const override;
70  virtual AudioTrackInfo GetActiveAudioTrack_() const override;
71 
72  virtual bool SelectClosedCaptionsTrack_(uint32_t id) override;
73  virtual std::vector<ClosedCaptionsTrackInfo> GetClosedCaptionsTracks_() const override;
74  virtual ClosedCaptionsTrackInfo GetActiveClosedCaptionsTrack_() const override;
75  virtual void DisableClosedCaptions_() override;
76 
77  virtual void SetMaxBitrate_(uint64_t maxBitrate) override;
78 
79  virtual CYIAbstractVideoPlayer::TimedMetadataInterface *GetTimedMetadataInterface_() const override;
80  virtual bool HasNativeBitrateEventHandling_() const override;
81  virtual bool HasNativeSeekEventHandling_() const override;
82 
83  std::unique_ptr<CYIAVPlayerPriv> m_pPriv;
84 
86 };
87 
92 #endif //ifndef _YI_AV_PLAYER_H_
const std::vector< CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo > GetClosedCaptionsTracksFromMediaSelectionGroup() const
Definition: YiAbstractVideoPlayer.h:210
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:36
virtual ~CYIAVPlayer()
An abstract video player that provides a basic interface that all subclasses must implement...
Definition: YiAbstractVideoPlayer.h:56
friend class CYIAVPlayerPriv
Definition: YiAVPlayer.h:21
A class used to encapsulate an URL.
Definition: YiUrl.h:24
Definition: YiAbstractVideoPlayer.h:479
StreamingFormat
Definition: YiAbstractVideoPlayer.h:110
Definition: YiAbstractVideoPlayer.h:581
#define YI_TYPE_BASES(CLASS, BASES...)
Definition: YiRtti.h:257
Implementation of abstract video player for iOS, tvOs and OSX.
Definition: YiAVPlayer.h:19
const std::vector< CYIAbstractVideoPlayer::ClosedCaptionsTrackInfo > GetClosedCaptionsTracksFromTrackList() const
DRMScheme
Definition: YiAbstractVideoPlayer.h:123
void EnableAutoExternalPlaybackWhenAvailable(bool enabled)
Definition: YiAbstractVideoPlayer.h:234