subtitle_sampler.h 743 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include "defs.h"

namespace ffmpeg {

/**
 * Class transcode audio frames from one format into another
 */

class SubtitleSampler : public MediaSampler {
 public:
  SubtitleSampler() = default;
  ~SubtitleSampler() override;

  bool init(const SamplerParameters& params) override;
  int sample(const ByteStorage* in, ByteStorage* out) override;
  void shutdown() override;

  // returns number processed/scaling bytes
  int sample(AVSubtitle* sub, ByteStorage* out);

  // helper serialization/deserialization methods
  static void serialize(const AVSubtitle& sub, ByteStorage* out);
  static bool deserialize(const ByteStorage& buf, AVSubtitle* sub);

 private:
  // close resources
  void cleanUp();
};

} // namespace ffmpeg