7 #ifndef MEDIA_FORMATS_MP4_MP4_MUXER_H_
8 #define MEDIA_FORMATS_MP4_MP4_MUXER_H_
12 #include "packager/media/base/muxer.h"
17 class AudioStreamInfo;
19 class VideoStreamInfo;
25 struct ProtectionSchemeInfo;
38 Status InitializeMuxer()
override;
39 Status Finalize()
override;
40 Status DoAddSample(std::shared_ptr<MediaSample> sample)
override;
53 bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
57 bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
60 void FireOnMediaStartEvent();
61 void FireOnMediaEndEvent();
64 uint64_t IsoTimeNow();
66 std::unique_ptr<Segmenter> segmenter_;
75 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_