Shaka Player Embedded
|
#include <ffmpeg_demuxer.h>
Public Member Functions | |
FFmpegDemuxer (Demuxer::Client *client, const std::string &mime_type, const std::string &container) | |
~FFmpegDemuxer () override | |
void | Reset () override |
bool | Demux (double timestamp_offset, const uint8_t *data, size_t size, std::vector< std::shared_ptr< EncodedFrame >> *frames) override |
![]() | |
Demuxer () | |
virtual | ~ Demuxer () |
Demuxer (const Demuxer &)=delete | |
Demuxer & | operator= (const Demuxer &)=delete |
Demuxer (Demuxer &&)=delete | |
Demuxer & | operator= (Demuxer &&)=delete |
virtual bool | SwitchType (const std::string &mime_type) |
An implementation of the Demuxer type that uses FFmpeg to demux frames. This produces FFmpegEncodedFrame objects.
Definition at line 40 of file ffmpeg_demuxer.h.
shaka::media::ffmpeg::FFmpegDemuxer::FFmpegDemuxer | ( | Demuxer::Client * | client, |
const std::string & | mime_type, | ||
const std::string & | container | ||
) |
Definition at line 394 of file ffmpeg_demuxer.cc.
|
override |
Definition at line 412 of file ffmpeg_demuxer.cc.
|
overridevirtual |
Attempts to demux the given data into some number of encoded frames.
If the data contains multiple streams (i.e. multiplexed content), then all frames will be given and they will be separated based on their stream_info field.
This may be given segments from a different source after starting. This will be first given the init segment for the new stream then the new segments. This should support this case and reinitialize the demxuer if needed. The resulting frames should have different stream_info fields from before, even if they are of the same type and codec.
timestamp_offset | The current offset to add to the timestamps. |
data | The data to demux. |
size | The number of bytes in data. |
frames | [OUT] Where to insert newly created frames. |
Implements shaka::media::Demuxer.
Definition at line 435 of file ffmpeg_demuxer.cc.
|
overridevirtual |
Resets the demuxer to parse a new stream. This may be called when adapting before parsing a new stream. This should reset any partial reads and should prepare to read from a new stream. This may not be called during adaptation, so the demuxer should still handle getting a new init segment without calling Reset first.
Implements shaka::media::Demuxer.
Definition at line 431 of file ffmpeg_demuxer.cc.