7 #ifndef MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
8 #define MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
15 #include "packager/base/synchronization/lock.h"
16 #include "packager/mpd/base/mpd_notifier.h"
17 #include "packager/mpd/base/mpd_notifier_util.h"
40 uint32_t sample_duration)
override;
44 uint64_t size)
override;
45 bool NotifyCueEvent(uint32_t container_id, uint64_t timestamp)
override;
47 const std::string& drm_uuid,
48 const std::vector<uint8_t>& new_key_id,
49 const std::vector<uint8_t>& new_pssh)
override;
51 const MediaInfo& media_info)
override;
52 bool Flush()
override;
59 friend class SimpleMpdNotifierTest;
62 MpdBuilder* MpdBuilderForTesting()
const {
return mpd_builder_.get(); }
65 void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
66 mpd_builder_ = std::move(mpd_builder);
70 std::string output_path_;
71 std::unique_ptr<MpdBuilder> mpd_builder_;
72 bool content_protection_in_adaptation_set_ =
true;
75 uint32_t next_adaptation_set_id_ = 0;
77 std::map<uint32_t, Representation*> representation_map_;
79 std::map<uint32_t, AdaptationSet*> representation_id_to_adaptation_set_;
84 #endif // MPD_BASE_SIMPLE_MPD_NOTIFIER_H_