5 #ifndef PACKAGER_MEDIA_FORMATS_WEBM_WEBM_MEDIA_PARSER_H_ 6 #define PACKAGER_MEDIA_FORMATS_WEBM_WEBM_MEDIA_PARSER_H_ 8 #include "packager/base/callback_forward.h" 9 #include "packager/base/compiler_specific.h" 10 #include "packager/media/base/byte_queue.h" 11 #include "packager/media/base/media_parser.h" 16 class WebMClusterParser;
27 KeySource* decryption_key_source)
override;
28 bool Flush()
override WARN_UNUSED_RESULT;
29 bool Parse(
const uint8_t* buf,
int size)
override WARN_UNUSED_RESULT;
40 void ChangeState(State new_state);
50 int ParseInfoAndTracks(
const uint8_t* data,
int size);
59 int ParseCluster(
const uint8_t* data,
int size);
62 bool FetchKeysIfNecessary(
const std::string& audio_encryption_key_id,
63 const std::string& video_encryption_key_id);
69 bool ignore_text_tracks_;
71 bool unknown_segment_size_;
73 std::unique_ptr<WebMClusterParser> cluster_parser_;
82 #endif // PACKAGER_MEDIA_FORMATS_WEBM_WEBM_MEDIA_PARSER_H_
All the methods that are virtual are virtual for mocking.