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

#include <ffmpeg_decoder.h>

Inheritance diagram for shaka::media::ffmpeg::FFmpegDecoder:
shaka::media::Decoder

Public Member Functions

 FFmpegDecoder ()
 
 ~FFmpegDecoder () 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 FFmpeg to decode frames. This produces FFmpegDecodedFrame objects.

Definition at line 40 of file ffmpeg_decoder.h.

Constructor & Destructor Documentation

§ FFmpegDecoder()

shaka::media::ffmpeg::FFmpegDecoder::FFmpegDecoder ( )

Definition at line 76 of file ffmpeg_decoder.cc.

§ ~FFmpegDecoder()

shaka::media::ffmpeg::FFmpegDecoder::~FFmpegDecoder ( )
override

Definition at line 87 of file ffmpeg_decoder.cc.

Member Function Documentation

§ Decode()

MediaStatus shaka::media::ffmpeg::FFmpegDecoder::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 118 of file ffmpeg_decoder.cc.

§ DecodingInfo()

MediaCapabilitiesInfo shaka::media::ffmpeg::FFmpegDecoder::DecodingInfo ( const MediaDecodingConfiguration config) const
overridevirtual
See also
MediaPlayer::DecodingInfo

Implements shaka::media::Decoder.

Definition at line 96 of file ffmpeg_decoder.cc.

§ ResetDecoder()

void shaka::media::ffmpeg::FFmpegDecoder::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 113 of file ffmpeg_decoder.cc.


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