7#include <packager/media/formats/ttml/ttml_muxer.h>
12#include <packager/file.h>
13#include <packager/media/base/muxer_options.h>
14#include <packager/media/base/stream_info.h>
15#include <packager/media/base/text_muxer.h>
16#include <packager/media/base/text_sample.h>
17#include <packager/media/base/text_stream_info.h>
18#include <packager/status.h>
24TtmlMuxer::TtmlMuxer(
const MuxerOptions& options) : TextMuxer(options) {}
25TtmlMuxer::~TtmlMuxer() {}
27Status TtmlMuxer::InitializeStream(TextStreamInfo* stream) {
28 stream->set_codec(kCodecTtml);
29 stream->set_codec_string(
"ttml");
30 generator_.Initialize(stream->regions(), stream->language(),
31 stream->time_scale());
35Status TtmlMuxer::AddTextSampleInternal(
const TextSample& sample) {
36 generator_.AddSample(sample);
40Status TtmlMuxer::WriteToFile(
const std::string& filename, uint64_t* size) {
42 if (!generator_.Dump(&data))
43 return Status(error::INTERNAL_ERROR,
"Error generating XML");
47 if (!File::WriteStringToFile(filename.c_str(), data))
48 return Status(error::FILE_FAILURE,
"Failed to write " + filename);
All the methods that are virtual are virtual for mocking.