MythTV  master
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CC608Reader Class Reference

#include <libmythtv/captions/cc608reader.h>

Inheritance diagram for CC608Reader:
[legend]
Collaboration diagram for CC608Reader:
[legend]

Public Member Functions

 CC608Reader (MythPlayer *parent)
 
 ~CC608Reader () override
 
void SetTTPageNum (int page)
 
void SetEnabled (bool enable)
 
void FlushTxtBuffers (void)
 
CC608BufferGetOutputText (bool &changed, int &streamIdx)
 
CC608BufferGetOutputText (bool &changed)
 
void SetMode (int mode)
 
void ClearBuffers (bool input, bool output, int outputStreamIdx=-1)
 
void AddTextData (unsigned char *buf, int len, std::chrono::milliseconds timecode, char type) override
 
void TranscodeWriteText (CC608WriteFn func, void *ptr)
 
- Public Member Functions inherited from CC608Input
virtual ~CC608Input ()=default
 

Private Member Functions

int Update (unsigned char *inpos)
 
void Update608Text (std::vector< CC608Text * > *ccbuf, int replace=0, int scroll=0, bool scroll_prsv=false, int scroll_yoff=0, int scroll_ymax=15, int streamIdx=CC_CC1)
 
int NumInputBuffers (bool need_to_lock=true)
 

Private Attributes

MythPlayerm_parent {nullptr}
 
bool m_enabled {false}
 
int m_readPosition {0}
 
int m_writePosition {0}
 
QMutex m_inputBufLock
 
int m_maxTextSize {0}
 
std::array< TextContainer, MAXTBUFFER+1 > m_inputBuffers {}
 
int m_ccMode {CC_CC1}
 
int m_ccPageNum {0x888}
 
std::array< CC608StateTracker, MAXOUTBUFFERSm_state
 

Detailed Description

Definition at line 78 of file cc608reader.h.

Constructor & Destructor Documentation

◆ CC608Reader()

CC608Reader::CC608Reader ( MythPlayer parent)
explicit

Definition at line 6 of file cc608reader.cpp.

◆ ~CC608Reader()

CC608Reader::~CC608Reader ( )
override

Definition at line 14 of file cc608reader.cpp.

Member Function Documentation

◆ SetTTPageNum()

void CC608Reader::SetTTPageNum ( int  page)
inline

Definition at line 84 of file cc608reader.h.

Referenced by MythPlayer::MythPlayer(), and MythPlayerCaptionsUI::SetTeletextPage().

◆ SetEnabled()

void CC608Reader::SetEnabled ( bool  enable)
inline

Definition at line 85 of file cc608reader.h.

Referenced by SubtitleScreen::EnableSubtitles().

◆ FlushTxtBuffers()

void CC608Reader::FlushTxtBuffers ( void  )

Definition at line 27 of file cc608reader.cpp.

◆ GetOutputText() [1/2]

CC608Buffer * CC608Reader::GetOutputText ( bool changed,
int &  streamIdx 
)

Definition at line 51 of file cc608reader.cpp.

Referenced by SubtitleScreen::DisplayCC608Subtitles(), and GetOutputText().

◆ GetOutputText() [2/2]

CC608Buffer * CC608Reader::GetOutputText ( bool changed)

Definition at line 33 of file cc608reader.cpp.

◆ SetMode()

void CC608Reader::SetMode ( int  mode)

Definition at line 148 of file cc608reader.cpp.

Referenced by MythPlayerCaptionsUI::SetTrack().

◆ ClearBuffers()

void CC608Reader::ClearBuffers ( bool  input,
bool  output,
int  outputStreamIdx = -1 
)

◆ AddTextData()

void CC608Reader::AddTextData ( unsigned char *  buf,
int  len,
std::chrono::milliseconds  timecode,
char  type 
)
overridevirtual

Implements CC608Input.

Definition at line 494 of file cc608reader.cpp.

◆ TranscodeWriteText()

void CC608Reader::TranscodeWriteText ( CC608WriteFn  func,
void *  ptr 
)

Definition at line 326 of file cc608reader.cpp.

◆ Update()

int CC608Reader::Update ( unsigned char *  inpos)
private

Definition at line 160 of file cc608reader.cpp.

Referenced by GetOutputText().

◆ Update608Text()

void CC608Reader::Update608Text ( std::vector< CC608Text * > *  ccbuf,
int  replace = 0,
int  scroll = 0,
bool  scroll_prsv = false,
int  scroll_yoff = 0,
int  scroll_ymax = 15,
int  streamIdx = CC_CC1 
)
private

Definition at line 348 of file cc608reader.cpp.

Referenced by Update().

◆ NumInputBuffers()

int CC608Reader::NumInputBuffers ( bool  need_to_lock = true)
private

Definition at line 476 of file cc608reader.cpp.

Referenced by AddTextData(), GetOutputText(), and TranscodeWriteText().

Member Data Documentation

◆ m_parent

MythPlayer* CC608Reader::m_parent {nullptr}
private

Definition at line 104 of file cc608reader.h.

Referenced by AddTextData(), and GetOutputText().

◆ m_enabled

bool CC608Reader::m_enabled {false}
private

Definition at line 105 of file cc608reader.h.

Referenced by AddTextData(), and GetOutputText().

◆ m_readPosition

int CC608Reader::m_readPosition {0}
private

◆ m_writePosition

int CC608Reader::m_writePosition {0}
private

Definition at line 108 of file cc608reader.h.

Referenced by ClearBuffers(), FlushTxtBuffers(), GetOutputText(), and NumInputBuffers().

◆ m_inputBufLock

QMutex CC608Reader::m_inputBufLock
private

◆ m_maxTextSize

int CC608Reader::m_maxTextSize {0}
private

Definition at line 110 of file cc608reader.h.

Referenced by AddTextData(), CC608Reader(), and ClearBuffers().

◆ m_inputBuffers

std::array<TextContainer,MAXTBUFFER+1> CC608Reader::m_inputBuffers {}
private

◆ m_ccMode

int CC608Reader::m_ccMode {CC_CC1}
private

Definition at line 112 of file cc608reader.h.

Referenced by GetOutputText(), and SetMode().

◆ m_ccPageNum

int CC608Reader::m_ccPageNum {0x888}
private

Definition at line 113 of file cc608reader.h.

Referenced by GetOutputText().

◆ m_state

std::array<CC608StateTracker,MAXOUTBUFFERS> CC608Reader::m_state
private

Definition at line 115 of file cc608reader.h.

Referenced by ClearBuffers(), GetOutputText(), Update(), and Update608Text().


The documentation for this class was generated from the following files: