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(
size_t stream_id,
41 std::shared_ptr<MediaSample> sample)
override;
42 Status FinalizeSegment(
size_t stream_id,
43 std::shared_ptr<SegmentInfo> segment_info)
override;
56 bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
60 bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
63 void FireOnMediaStartEvent();
64 void FireOnMediaEndEvent();
67 uint64_t IsoTimeNow();
69 std::unique_ptr<Segmenter> segmenter_;
78 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_