Shaka Player Embedded
Public Member Functions | List of all members
shaka::media::apple::AppleDecoder Class Reference

#include <apple_decoder.h>

Inheritance diagram for shaka::media::apple::AppleDecoder:
shaka::media::Decoder

Public Member Functions

 AppleDecoder ()
 
 ~AppleDecoder () override
 
MediaCapabilitiesInfo DecodingInfo (const MediaDecodingConfiguration &config) const override
 
void ResetDecoder () override
 
MediaStatus Decode (std::shared_ptr< EncodedFrame > input, const eme::Implementation *eme, std::vector< std::shared_ptr< DecodedFrame >> *frames, std::string *extra_info) override
 
- Public Member Functions inherited from shaka::media::Decoder
 Decoder ()
 
virtual ~ Decoder ()
 
 Decoder (const Decoder &)=delete
 
Decoderoperator= (const Decoder &)=delete
 
 Decoder (Decoder &&)=delete
 
Decoderoperator= (Decoder &&)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from shaka::media::Decoder
static std::unique_ptr< DecoderCreateDefaultDecoder ()
 

Detailed Description

An implementation of the Decoder type that uses AudioToolbox/VideoToolbox decoder to decode frames. This produces AppleDecodedFrame objects.

Definition at line 41 of file apple_decoder.h.

Constructor & Destructor Documentation

§ AppleDecoder()

shaka::media::apple::AppleDecoder::AppleDecoder ( )

Definition at line 381 of file apple_decoder.cc.

§ ~AppleDecoder()

shaka::media::apple::AppleDecoder::~AppleDecoder ( )
override

Definition at line 383 of file apple_decoder.cc.

Member Function Documentation

§ Decode()

MediaStatus shaka::media::apple::AppleDecoder::Decode ( std::shared_ptr< EncodedFrame input,
const eme::Implementation eme,
std::vector< std::shared_ptr< DecodedFrame >> *  frames,
std::string *  extra_info 
)
overridevirtual

Attempts to decode the given frame into some number of full frames.

This is given frames in DTS order, starting with a keyframe. The caller will call ResetDecoder if there is a seek before passing new frames. This may be given frames from different sub-streams, but changes will always start with a keyframe.

Parameters
inputThe frame to decode. This can be nullptr to flush the decoder.
emeThe EME implementation used to decrypt frames, or nullptr if not using EME.
frames[OUT] Where to insert newly created frames.
extra_info[OUT] If this returns FatalError, this argument will be set to a description of what error happened.
Returns
The status of the decode operation.

Implements shaka::media::Decoder.

Definition at line 477 of file apple_decoder.cc.

§ DecodingInfo()

MediaCapabilitiesInfo shaka::media::apple::AppleDecoder::DecodingInfo ( const MediaDecodingConfiguration config) const
overridevirtual
See also
MediaPlayer::DecodingInfo

Implements shaka::media::Decoder.

Definition at line 387 of file apple_decoder.cc.

§ ResetDecoder()

void shaka::media::apple::AppleDecoder::ResetDecoder ( )
overridevirtual

Resets any internal state due to a seek. The next frame given will be a keyframe. This is not called for changing sub-streams.

Implements shaka::media::Decoder.

Definition at line 472 of file apple_decoder.cc.


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