39 Status InitializeMuxer()
override;
40 Status Finalize()
override;
41 Status AddMediaSample(
size_t stream_id,
const MediaSample& sample)
override;
42 Status FinalizeSegment(
size_t stream_id,
const SegmentInfo& sample)
override;
44 Status WriteSegment(
const std::string& segment_path,
46 Status CloseFile(std::unique_ptr<File, FileCloser> file);
49 void EncryptSegmentIfNeeded(
BufferWriter* segment_buffer);
51 void FireOnMediaStartEvent();
52 void FireOnMediaEndEvent();
54 std::unique_ptr<TsSegmenter> segmenter_;
57 int64_t sample_durations_[2] = {0, 0};
58 size_t num_samples_ = 0;
61 std::unique_ptr<File, FileCloser> output_file_;
66 uint64_t total_duration_ = 0;
68 DISALLOW_COPY_AND_ASSIGN(
TsMuxer);