7 #ifndef MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
8 #define MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
15 #include "packager/base/gtest_prod_util.h"
16 #include "packager/base/synchronization/lock.h"
17 #include "packager/mpd/base/mpd_notifier.h"
18 #include "packager/mpd/base/mpd_notifier_util.h"
25 class SimpleMpdNotifierTest;
35 const std::vector<std::string>& base_urls,
36 const std::string& output_path);
44 uint32_t sample_duration)
override;
48 uint64_t size)
override;
50 const std::string& drm_uuid,
51 const std::vector<uint8_t>& new_key_id,
52 const std::vector<uint8_t>& new_pssh)
override;
56 bool Flush()
override;
60 friend class SimpleMpdNotifierTest;
64 return mpd_builder_.get();
68 void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
69 mpd_builder_ = std::move(mpd_builder);
73 std::string output_path_;
74 std::unique_ptr<MpdBuilder> mpd_builder_;
77 typedef std::map<std::string, AdaptationSet*> AdaptationSetMap;
78 AdaptationSetMap adaptation_set_map_;
80 typedef std::map<uint32_t, Representation*> RepresentationMap;
81 RepresentationMap representation_map_;
88 #endif // MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
This class generates DASH MPDs (Media Presentation Descriptions).
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
DashProfile dash_profile() const
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) override
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override