7 #ifndef MEDIA_BASE_DEMUXER_H_
8 #define MEDIA_BASE_DEMUXER_H_
12 #include "packager/base/memory/ref_counted.h"
13 #include "packager/base/memory/scoped_ptr.h"
14 #include "packager/media/base/container_names.h"
15 #include "packager/media/base/status.h"
17 namespace edash_packager {
35 explicit Demuxer(
const std::string& file_name);
66 const std::vector<MediaStream*>&
streams() {
return streams_; }
74 void ParserInitEvent(
const std::vector<scoped_refptr<StreamInfo> >&
streams);
75 bool NewSampleEvent(uint32_t track_id,
76 const scoped_refptr<MediaSample>& sample);
78 std::string file_name_;
80 bool init_event_received_;
81 Status init_parsing_status_;
82 scoped_ptr<MediaParser> parser_;
83 std::vector<MediaStream*> streams_;
84 MediaContainerName container_name_;
85 scoped_ptr<uint8_t[]> buffer_;
86 scoped_ptr<KeySource> key_source_;
89 DISALLOW_COPY_AND_ASSIGN(
Demuxer);
95 #endif // MEDIA_BASE_DEMUXER_H_