Shaka Packager SDK
Loading...
Searching...
No Matches
ttml_muxer.h
1// Copyright 2020 Google LLC. All rights reserved.
2//
3// Use of this source code is governed by a BSD-style
4// license that can be found in the LICENSE file or at
5// https://developers.google.com/open-source/licenses/bsd
6
7#ifndef PACKAGER_MEDIA_FORMATS_TTML_TTML_MUXER_H_
8#define PACKAGER_MEDIA_FORMATS_TTML_TTML_MUXER_H_
9
10#include <cstdint>
11#include <string>
12
13#include <packager/media/base/muxer_options.h>
14#include <packager/media/base/text_muxer.h>
15#include <packager/media/base/text_sample.h>
16#include <packager/media/base/text_stream_info.h>
17#include <packager/media/formats/ttml/ttml_generator.h>
18#include <packager/status.h>
19
20namespace shaka {
21namespace media {
22namespace ttml {
23
24class TtmlMuxer : public TextMuxer {
25 public:
26 explicit TtmlMuxer(const MuxerOptions& options);
27 ~TtmlMuxer() override;
28
29 private:
30 Status InitializeStream(TextStreamInfo* stream) override;
31 Status AddTextSampleInternal(const TextSample& sample) override;
32 Status WriteToFile(const std::string& filename, uint64_t* size) override;
33
34 TtmlGenerator generator_;
35};
36
37} // namespace ttml
38} // namespace media
39} // namespace shaka
40
41#endif // PACKAGER_MEDIA_FORMATS_TTML_TTML_MUXER_H_
All the methods that are virtual are virtual for mocking.
This structure contains the list of configuration options for Muxer.