Shaka Packager SDK
text_padder.h
1 // Copyright 2018 Google Inc. 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_WEBVTT_TEXT_PADDER_H_
8 #define PACKAGER_MEDIA_FORMATS_WEBVTT_TEXT_PADDER_H_
9 
10 #include "packager/media/base/media_handler.h"
11 
12 namespace shaka {
13 namespace media {
14 
18 class TextPadder : public MediaHandler {
19  public:
21  // at least |duration_ms| long.
22  explicit TextPadder(int64_t duration_ms);
23  ~TextPadder() override = default;
24 
25  private:
26  TextPadder(const TextPadder&) = delete;
27  TextPadder& operator=(const TextPadder&) = delete;
28 
29  Status InitializeInternal() override;
30 
31  Status Process(std::unique_ptr<StreamData> data) override;
32  Status OnFlushRequest(size_t index) override;
33  Status OnTextSample(std::unique_ptr<StreamData> data);
34 
35  int64_t duration_ms_;
36  int64_t max_end_time_ms_ = 0;
37 };
38 
39 } // namespace media
40 } // namespace shaka
41 
42 #endif // MEDIA_FORMATS_WEBVTT_TEXT_PADDER_H_
All the methods that are virtual are virtual for mocking.
TextPadder(int64_t duration_ms)
Create a new text padder that will ensure the stream&#39;s duration is.
Definition: text_padder.cc:19