7 #ifndef PACKAGER_MEDIA_FORMATS_MP4_LOW_LATENCY_SEGMENT_SEGMENTER_H_
8 #define PACKAGER_MEDIA_FORMATS_MP4_LOW_LATENCY_SEGMENT_SEGMENTER_H_
10 #include <packager/file.h>
11 #include <packager/file/file_closer.h>
12 #include <packager/macros/classes.h>
13 #include <packager/media/formats/mp4/segmenter.h>
32 std::unique_ptr<FileType> ftyp,
33 std::unique_ptr<Movie> moov);
38 bool GetInitRange(
size_t* offset,
size_t* size)
override;
40 std::vector<Range> GetSegmentRanges()
override;
45 Status DoInitialize()
override;
46 Status DoFinalize()
override;
47 Status DoFinalizeSegment(int64_t segment_number)
override;
48 Status DoFinalizeChunk(int64_t segment_number)
override;
51 Status WriteInitSegment();
53 Status WriteInitialChunk(int64_t segment_number);
54 Status FinalizeSegment();
56 uint64_t GetSegmentDuration();
58 std::unique_ptr<SegmentType> styp_;
59 uint32_t num_segments_;
60 bool is_initial_chunk_in_seg_ =
true;
61 bool ll_dash_mpd_values_initialized_ =
false;
62 std::unique_ptr<File, FileCloser> segment_file_;
63 std::string file_name_;
64 size_t segment_size_ = 0u;
All the methods that are virtual are virtual for mocking.