10 #ifndef MPD_BASE_MPD_NOTIFIER_H_ 11 #define MPD_BASE_MPD_NOTIFIER_H_ 17 #include "packager/base/macros.h" 18 #include "packager/mpd/base/mpd_options.h" 23 struct ContentProtectionElement;
30 : mpd_options_(mpd_options) {}
36 virtual bool Init() = 0;
47 uint32_t* container_id) = 0;
57 uint32_t sample_duration) = 0;
79 virtual bool NotifyCueEvent(uint32_t container_id, uint64_t timestamp) = 0;
91 const std::string& drm_uuid,
92 const std::vector<uint8_t>& new_key_id,
93 const std::vector<uint8_t>& new_pssh) = 0;
100 const MediaInfo& media_info) = 0;
105 virtual bool Flush() = 0;
111 MpdType
mpd_type()
const {
return mpd_options_.mpd_type; }
121 #endif // MPD_BASE_MPD_NOTIFIER_H_
virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0
DashProfile dash_profile() const
virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration)=0
All the methods that are virtual are virtual for mocking.
virtual bool NotifyCueEvent(uint32_t container_id, uint64_t timestamp)=0
virtual bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *container_id)=0
virtual bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh)=0
virtual bool NotifyMediaInfoUpdate(uint32_t container_id, const MediaInfo &media_info)=0