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;
20 class VideoStreamInfo;
26 struct ProtectionSchemeInfo;
39 Status InitializeMuxer()
override;
40 Status Finalize()
override;
41 Status AddSample(
size_t stream_id,
42 std::shared_ptr<MediaSample> sample)
override;
43 Status FinalizeSegment(
size_t stream_id,
44 std::shared_ptr<SegmentInfo> segment_info)
override;
60 bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
64 bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
67 void FireOnMediaStartEvent();
68 void FireOnMediaEndEvent();
71 uint64_t IsoTimeNow();
73 std::unique_ptr<Segmenter> segmenter_;
82 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_