76using CC608WriteFn = void (*) (
void *,
unsigned char *, int, std::chrono::milliseconds, int);
86 void FlushTxtBuffers(
void);
87 CC608Buffer *GetOutputText(
bool &changed,
int &streamIdx);
89 void SetMode(
int mode);
90 void ClearBuffers(
bool input,
bool output,
int outputStreamIdx = -1);
92 std::chrono::milliseconds timecode,
char type)
override;
96 int Update(
unsigned char *inpos);
97 void Update608Text(std::vector<CC608Text*> *ccbuf,
98 int replace = 0,
int scroll = 0,
99 bool scroll_prsv =
false,
100 int scroll_yoff = 0,
int scroll_ymax = 15,
102 int NumInputBuffers(
bool need_to_lock =
true);
105 bool m_enabled {
false};
107 int m_readPosition {0};
108 int m_writePosition {0};
110 int m_maxTextSize {0};
111 std::array<TextContainer,MAXTBUFFER+1> m_inputBuffers {};
113 int m_ccPageNum {0x888};
115 std::array<CC608StateTracker,MAXOUTBUFFERS>
m_state;
static constexpr int8_t MAXTBUFFER
static constexpr int8_t MAXOUTBUFFERS
void(*)(void *, unsigned char *, int, std::chrono::milliseconds, int) CC608WriteFn
std::vector< CC608Text * > m_buffers
void SetTTPageNum(int page)
std::array< CC608StateTracker, MAXOUTBUFFERS > m_state
void SetEnabled(bool enable)
CC608StateTracker()=default
CC608Text(QString T, int X, int Y)
CC608Text(const CC608Text &other)=default
std::chrono::milliseconds timecode