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 AddSample(
int stream_id, std::shared_ptr<MediaSample> sample)
override;
41 Status FinalizeSegment(
int stream_id,
42 std::shared_ptr<SegmentInfo> segment_info)
override;
55 bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
59 bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
62 void FireOnMediaStartEvent();
63 void FireOnMediaEndEvent();
66 uint64_t IsoTimeNow();
68 std::unique_ptr<Segmenter> segmenter_;
77 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_