9 #ifndef MPD_UTIL_MPD_WRITER_H_
10 #define MPD_UTIL_MPD_WRITER_H_
16 #include "packager/base/macros.h"
17 #include "packager/base/memory/scoped_ptr.h"
18 #include "packager/mpd/base/mpd_notifier.h"
19 #include "packager/mpd/base/mpd_options.h"
21 namespace edash_packager {
27 namespace edash_packager {
39 virtual scoped_ptr<MpdNotifier> Create(
40 DashProfile dash_profile,
42 const std::vector<std::string>& base_urls,
43 const std::string& output_path) = 0;
63 bool AddFile(
const std::string& media_info_path,
64 const std::string& mpd_path);
68 void AddBaseUrl(
const std::string& base_url);
77 bool WriteMpdToFile(
const char* file_name);
80 friend class MpdWriterTest;
82 void SetMpdNotifierFactoryForTest(scoped_ptr<MpdNotifierFactory> factory);
84 std::list<MediaInfo> media_infos_;
85 std::vector<std::string> base_urls_;
87 scoped_ptr<MpdNotifierFactory> notifier_factory_;
94 #endif // MPD_UTIL_MPD_WRITER_H_