11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
26PROMEKI_NAMESPACE_BEGIN
28struct Cea608EncoderImpl;
178class Cea608Encoder :
public CaptionEncoder {
225 Mode mode = Mode::PopOn;
231 Channel channel = Channel::CC1;
240 int32_t rollUpRows = 2;
248 int32_t maxCols = 32;
259 explicit Cea608Encoder(Config cfg);
260 ~Cea608Encoder()
override;
263 const Config &config()
const;
266 CaptionCodec codec()
const override {
return CaptionCodec(CaptionCodec::Cea608); }
269 FrameRate frameRate()
const override;
300 Error setSubtitles(
const SubtitleList &subs)
override;
303 void reset()
override;
321 Cea708Cdp::CcDataList nextFrame(FrameNumber frame)
const override;
333 FrameNumber earliestStartFor(
const Subtitle &cue)
const;
360 SubtitleList encodableSubset(
const SubtitleList &in,
361 SubtitleList *outDropped =
nullptr)
const override;
364 SharedPtr<Cea608EncoderImpl> _d;