11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
27PROMEKI_NAMESPACE_BEGIN
29struct Cea608DecoderImpl;
180class Cea608Decoder :
public CaptionDecoder {
183 using Channel = Cea608Encoder::Channel;
192 Channel channel = Channel::CC1;
196 explicit Cea608Decoder(Config cfg);
197 ~Cea608Decoder()
override;
200 CaptionCodec codec()
const override {
return CaptionCodec(CaptionCodec::Cea608); }
203 const Config &config()
const;
220 void pushFrame(FrameNumber frame, TimeStamp ts,
const Cea708Cdp::CcDataList &data)
override;
236 String displayedText()
const override;
256 Subtitle displayedCue()
const override;
269 SubtitleList finalize()
override;
278 void reset()
override;
297 List<Cea608XdsPacket> drainXdsPackets();
302 size_t xdsPending()
const;
309 uint32_t xdsChecksumFailures()
const;
312 SharedPtr<Cea608DecoderImpl> _d;