15 #ifndef SHAKA_EMBEDDED_MEDIA_DEMUXER_H_ 16 #define SHAKA_EMBEDDED_MEDIA_DEMUXER_H_ 21 #include "../eme/configuration.h" 22 #include "../macros.h" 51 virtual void OnLoadedMetaData(
double duration) = 0;
58 const uint8_t* data,
size_t size) = 0;
72 virtual bool SwitchType(
const std::string& mime_type);
81 virtual void Reset() = 0;
102 virtual bool Demux(
double timestamp_offset,
const uint8_t* data,
size_t size,
103 std::vector<std::shared_ptr<EncodedFrame>>*
frames) = 0;
133 virtual bool IsTypeSupported(
const std::string& mime_type)
const = 0;
143 virtual bool IsCodecVideo(
const std::string& codec)
const = 0;
153 virtual bool CanSwitchType(
const std::string& old_mime_type,
154 const std::string& new_mime_type)
const;
164 virtual std::unique_ptr<Demuxer> Create(
const std::string& mime_type,
171 #endif // SHAKA_EMBEDDED_MEDIA_DEMUXER_H_
#define SHAKA_DECLARE_INTERFACE_METHODS(Type)
std::list< std::shared_ptr< BaseFrame > > frames