Shaka Player Embedded
Classes | Public Member Functions | List of all members
shaka::media::DefaultMediaPlayer Class Referencefinal

#include <default_media_player.h>

Inheritance diagram for shaka::media::DefaultMediaPlayer:
shaka::media::ProxyMediaPlayer shaka::media::MediaPlayer

Classes

class  Impl
 

Public Member Functions

 DefaultMediaPlayer (VideoRenderer *video_renderer, AudioRenderer *audio_renderer)
 
 ~DefaultMediaPlayer () override
 
void SetDecoders (Decoder *video_decoder, Decoder *audio_decoder)
 
const void * GetIosView ()
 
const void * GetAvPlayer ()
 
MediaCapabilitiesInfo DecodingInfo (const MediaDecodingConfiguration &config) const override
 
std::vector< std::shared_ptr< MediaTrack > > AudioTracks () override
 
std::vector< std::shared_ptr< const MediaTrack > > AudioTracks () const override
 
std::vector< std::shared_ptr< MediaTrack > > VideoTracks () override
 
std::vector< std::shared_ptr< const MediaTrack > > VideoTracks () const override
 
std::vector< std::shared_ptr< TextTrack > > TextTracks () override
 
std::vector< std::shared_ptr< const TextTrack > > TextTracks () const override
 
std::shared_ptr< TextTrackAddTextTrack (TextTrackKind kind, const std::string &label, const std::string &language) override
 
void Detach () override
 
- Public Member Functions inherited from shaka::media::ProxyMediaPlayer
 ProxyMediaPlayer ()
 
 ~ProxyMediaPlayer () override
 
struct VideoPlaybackQuality VideoPlaybackQuality () const override
 
void AddClient (Client *client) const override
 
void RemoveClient (Client *client) const override
 
std::vector< BufferedRangeGetBuffered () const override
 
VideoReadyState ReadyState () const override
 
VideoPlaybackState PlaybackState () const override
 
bool SetVideoFillMode (VideoFillMode mode) override
 
uint32_t Width () const override
 
uint32_t Height () const override
 
double Volume () const override
 
void SetVolume (double volume) override
 
bool Muted () const override
 
void SetMuted (bool muted) override
 
void Play () override
 
void Pause () override
 
double CurrentTime () const override
 
void SetCurrentTime (double time) override
 
double Duration () const override
 
void SetDuration (double duration) override
 
double PlaybackRate () const override
 
void SetPlaybackRate (double rate) override
 
bool AttachSource (const std::string &src) override
 
bool AttachMse () override
 
bool AddMseBuffer (const std::string &mime, bool is_video, const ElementaryStream *stream) override
 
void LoadedMetaData (double duration) override
 
void MseEndOfStream () override
 
bool SetEmeImplementation (const std::string &key_system, eme::Implementation *implementation) override
 
void Detach () override
 
- Public Member Functions inherited from shaka::media::MediaPlayer
 MediaPlayer ()
 
virtual ~ MediaPlayer ()
 
 MediaPlayer (const MediaPlayer &)=delete
 
MediaPlayeroperator= (const MediaPlayer &)=delete
 
 MediaPlayer (MediaPlayer &&)=delete
 
MediaPlayeroperator= (MediaPlayer &&)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from shaka::media::MediaPlayer
static void SetMediaPlayerForSupportChecks (const MediaPlayer *player)
 
static const MediaPlayerGetMediaPlayerForSupportChecks ()
 
- Protected Member Functions inherited from shaka::media::ProxyMediaPlayer
ClientListGetClientList () const
 

Detailed Description

Defines the default MediaPlayer implementation. This handles the current time tracking and defines interfaces to swap out decryption (through EME implementations), decoding, and rendering.

Definition at line 35 of file default_media_player.h.

Constructor & Destructor Documentation

§ DefaultMediaPlayer()

shaka::media::DefaultMediaPlayer::DefaultMediaPlayer ( VideoRenderer video_renderer,
AudioRenderer audio_renderer 
)

Creates a new DefaultMediaPlayer instance that uses the given objects to render the full-frames. Both must be provided, but they may not be used depending on the source content.

Parameters
video_rendererThe renderer used to draw video frames.
audio_rendererThe renderer used to play audio frames.

Definition at line 50 of file default_media_player.cc.

§ ~DefaultMediaPlayer()

shaka::media::DefaultMediaPlayer::~DefaultMediaPlayer ( )
override

Definition at line 53 of file default_media_player.cc.

Member Function Documentation

§ AddTextTrack()

std::shared_ptr< TextTrack > shaka::media::DefaultMediaPlayer::AddTextTrack ( TextTrackKind  kind,
const std::string &  label,
const std::string &  language 
)
overridevirtual

Adds a new text track to the player. This can return nullptr if this isn't supported.

Parameters
kindThe kind of the new track.
labelA string label for the track.
languageThe language of the new track.
Returns
The new track object, or nullptr on error or if unsupported.

Implements shaka::media::MediaPlayer.

Definition at line 151 of file default_media_player.cc.

§ AudioTracks() [1/2]

std::vector< std::shared_ptr< MediaTrack > > shaka::media::DefaultMediaPlayer::AudioTracks ( )
overridevirtual
Returns
The current audio tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 89 of file default_media_player.cc.

§ AudioTracks() [2/2]

std::vector< std::shared_ptr< const MediaTrack > > shaka::media::DefaultMediaPlayer::AudioTracks ( ) const
overridevirtual
Returns
The current audio tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 98 of file default_media_player.cc.

§ DecodingInfo()

MediaCapabilitiesInfo shaka::media::DefaultMediaPlayer::DecodingInfo ( const MediaDecodingConfiguration config) const
overridevirtual

Checks whether the given content can be played. In general, for MSE playback, this shouldn't check whether it can be demuxed, this should only check whether the streams can be decoded. The Demuxer should handle whether it can be demuxed.

The return value must be the same throughout playback and should be the same for all MediaPlayer implementations that are used. Since type support checking is done before a specific MediaPlayer is selected, it is expected that all MediaPlayer instances return the same value. If this isn't the case, it can cause runtime decoder errors since filtering is done early.

Parameters
configThe configuration to check support for.
Returns
The capabilities for the given configuration.

Implements shaka::media::MediaPlayer.

Definition at line 76 of file default_media_player.cc.

§ Detach()

void shaka::media::DefaultMediaPlayer::Detach ( )
overridevirtual

Stops playback from the current media. This should stop using the current ElementaryStream objects and halt playback.

Implements shaka::media::MediaPlayer.

Definition at line 163 of file default_media_player.cc.

§ GetAvPlayer()

const void * shaka::media::DefaultMediaPlayer::GetAvPlayer ( )

Gets the iOS AVPlayer used to play the current src= content. This has been retained and should use CFBridgingRelease to change to an objective-C object.

See also
ShakaPlayerView::avPlayer

Definition at line 68 of file default_media_player.cc.

§ GetIosView()

const void * shaka::media::DefaultMediaPlayer::GetIosView ( )

Gets the iOS CALayer that is used to draw native src= content. The returned value has been retained and should use CFBridgingRelease to change to an Objective-C object.

Returns
A CALayer object used to draw src= content.

Definition at line 60 of file default_media_player.cc.

§ SetDecoders()

void shaka::media::DefaultMediaPlayer::SetDecoders ( Decoder video_decoder,
Decoder audio_decoder 
)

Sets the decoders used to decode frames. This is used for the duration of playback and may require re-initialization to handle stream switching.

The decoders must live as long as this object, or until a call to this method. Unless the default decoder was removed from the build, you can pass nullptr to reset back to the built-in decoder.

Parameters
video_decoderThe decoder instance used to decode video frames.
audio_decoderThe decoder instance used to decode audio frames.

Definition at line 55 of file default_media_player.cc.

§ TextTracks() [1/2]

std::vector< std::shared_ptr< TextTrack > > shaka::media::DefaultMediaPlayer::TextTracks ( )
overridevirtual
Returns
The current text tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 131 of file default_media_player.cc.

§ TextTracks() [2/2]

std::vector< std::shared_ptr< const TextTrack > > shaka::media::DefaultMediaPlayer::TextTracks ( ) const
overridevirtual
Returns
The current text tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 140 of file default_media_player.cc.

§ VideoTracks() [1/2]

std::vector< std::shared_ptr< MediaTrack > > shaka::media::DefaultMediaPlayer::VideoTracks ( )
overridevirtual
Returns
The current video tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 110 of file default_media_player.cc.

§ VideoTracks() [2/2]

std::vector< std::shared_ptr< const MediaTrack > > shaka::media::DefaultMediaPlayer::VideoTracks ( ) const
overridevirtual
Returns
The current video tracks in the media.

Implements shaka::media::MediaPlayer.

Definition at line 119 of file default_media_player.cc.


The documentation for this class was generated from the following files: