7 #ifndef MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
8 #define MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
14 #include "packager/base/gtest_prod_util.h"
15 #include "packager/base/memory/scoped_ptr.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"
20 namespace edash_packager {
25 class SimpleMpdNotifierTest;
35 const std::vector<std::string>& base_urls,
36 const std::string& output_path);
41 virtual bool Init() OVERRIDE;
43 uint32_t*
id) OVERRIDE;
45 uint32_t sample_duration) OVERRIDE;
49 uint64_t size) OVERRIDE;
51 uint32_t container_id,
52 const std::string& drm_uuid,
53 const std::vector<uint8_t>& new_key_id,
54 const std::vector<uint8_t>& new_pssh) OVERRIDE;
58 virtual bool Flush() OVERRIDE;
62 friend class SimpleMpdNotifierTest;
66 return mpd_builder_.get();
70 void SetMpdBuilderForTesting(scoped_ptr<MpdBuilder> mpd_builder) {
71 mpd_builder_ = mpd_builder.Pass();
75 std::string output_path_;
76 scoped_ptr<MpdBuilder> mpd_builder_;
80 typedef std::map<ContentType, std::map<std::string, AdaptationSet*> >
82 AdaptationSetMap adaptation_set_map_;
84 typedef std::map<uint32_t, Representation*> RepresentationMap;
85 RepresentationMap representation_map_;
92 #endif // MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
DashProfile dash_profile() const
This class generates DASH MPDs (Media Presentation Descriptions).
virtual bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) OVERRIDE
virtual bool Flush() OVERRIDE
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) OVERRIDE
virtual bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) OVERRIDE
virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) OVERRIDE
virtual bool Init() OVERRIDE
virtual bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) OVERRIDE