MythTV  master
Classes | Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Member Functions | List of all members
MythCCExtractorPlayer Class Reference

#include <mythccextractorplayer.h>

Inheritance diagram for MythCCExtractorPlayer:
Inheritance graph
Collaboration diagram for MythCCExtractorPlayer:
Collaboration graph


class  Window
 Keeps cc708 windows (1-8) for all streams & services (which ids are the keys). More...

Public Member Functions

 MythCCExtractorPlayer (PlayerFlags flags, bool showProgress, const QString &fileName, const QString &destdir)
 MythCCExtractorPlayer (const MythCCExtractorPlayer &rhs)
 ~MythCCExtractorPlayer ()=default
bool run (void)
CC708ReaderGetCC708Reader (uint id=0) override
CC608ReaderGetCC608Reader (uint id=0) override
SubtitleReaderGetSubReader (uint id=0) override
TeletextReaderGetTeletextReader (uint id=0) override
- Public Member Functions inherited from MythPlayer
 MythPlayer (PlayerFlags flags=kNoFlags)
 MythPlayer (const MythPlayer &rhs)
virtual ~MythPlayer ()
virtual int OpenFile (uint retries=4)
bool InitVideo (void)
void SetPlayerInfo (TV *tv, QWidget *widget, PlayerContext *ctx)
void SetLength (int len)
void SetFramesPlayed (uint64_t played)
void SetVideoFilters (const QString &overridefilter)
void SetEof (EofState eof)
void SetPIPActive (bool is_active)
void SetPIPVisible (bool is_visible)
void SetTranscoding (bool value)
void SetWatchingRecording (bool mode)
void SetWatched (bool forceWatched=false)
 Determines if the recording should be considered watched. More...
void SetKeyframeDistance (int keyframedistance)
void SetVideoParams (int w, int h, double fps, FrameScanType scan=kScan_Ignore, const QString &codecName=QString())
void SetFileLength (int total, int frames)
void SetDuration (int duration)
void SetVideoResize (const QRect &videoRect)
void EnableFrameRateMonitor (bool enable=false)
void ForceDeinterlacer (const QString &override=QString())
void SetFrameRate (double fps)
QSize GetVideoBufferSize (void) const
QSize GetVideoSize (void) const
float GetVideoAspect (void) const
float GetFrameRate (void) const
void GetPlaybackData (InfoMap &infoMap)
bool IsAudioNeeded (void)
uint GetVolume (void)
int GetSecondsBehind (void) const
int GetFreeVideoFrames (void) const
 Returns the number of frames available for decoding onto. More...
AspectOverrideMode GetAspectOverride (void) const
AdjustFillMode GetAdjustFill (void) const
MuteState GetMuteState (void)
int GetFFRewSkip (void) const
float GetPlaySpeed (void) const
AudioPlayerGetAudio (void)
const AudioOutputGraphGetAudioGraph () const
float GetAudioStretchFactor (void)
float GetNextPlaySpeed (void) const
int GetLength (void) const
uint64_t GetTotalFrameCount (void) const
uint64_t GetCurrentFrameCount (void) const
uint64_t GetFramesPlayed (void) const
virtual int64_t GetSecondsPlayed (bool honorCutList, int divisor=1000) const
virtual int64_t GetTotalSeconds (bool honorCutList, int divisor=1000) const
int64_t GetLatestVideoTimecode () const
virtual uint64_t GetBookmark (void)
QString GetError (void) const
bool IsErrorRecoverable (void) const
bool IsDecoderErrored (void) const
QString GetEncodingType (void) const
void GetCodecDescription (InfoMap &infoMap)
QString GetXDS (const QString &key) const
PIPLocation GetNextPIPLocation (void) const
bool IsPaused (void) const
bool GetRawAudioState (void) const
bool GetLimitKeyRepeat (void) const
EofState GetEof (void) const
bool IsErrored (void) const
bool IsPlaying (uint wait_in_msec=0, bool wait_for=true) const
bool AtNormalSpeed (void) const
bool IsReallyNearEnd (void) const
 Returns true iff really near end of recording. More...
bool IsNearEnd (void)
 Returns true iff near end of recording. More...
bool HasAudioOut (void) const
bool IsPIPActive (void) const
bool IsPIPVisible (void) const
bool IsMuted (void)
bool PlayerControlsVolume (void) const
bool UsingNullVideo (void) const
bool HasTVChainNext (void) const
bool CanSupportDoubleRate (void)
bool GetScreenShot (int width=0, int height=0, QString filename="")
bool IsWatchingInprogress (void) const
virtual char * GetScreenGrabAtFrame (uint64_t frameNum, bool absolute, int &bufflen, int &vw, int &vh, float &ar)
 Returns a one RGB frame grab from a video. More...
virtual char * GetScreenGrab (int secondsin, int &bufflen, int &vw, int &vh, float &ar)
 Returns a one RGB frame grab from a video. More...
InteractiveTVGetInteractiveTV (void)
VideoOutputGetVideoOutput (void)
MythCodecContextGetMythCodecContext (void)
virtual bool SwitchTitle (int)
virtual bool NextTitle (void)
virtual bool PrevTitle (void)
virtual bool SwitchAngle (int)
virtual bool NextAngle (void)
virtual bool PrevAngle (void)
void InitForTranscode (bool copyaudio, bool copyvideo)
bool TranscodeGetNextFrame (int &did_ff, bool &is_key, bool honorCutList)
bool WriteStoredData (RingBuffer *outRingBuffer, bool writevideo, long timecodeOffset)
long UpdateStoredFrameNum (long curFrameNum)
void SetCutList (const frm_dir_map_t &newCutList)
VideoFrameGetNextVideoFrame (void)
 Removes a frame from the available queue for decoding onto. More...
VideoFrameGetRawVideoFrame (long long frameNumber=-1)
 Returns a specific frame from the video. More...
VideoFrameGetCurrentFrame (int &w, int &h)
void DeLimboFrame (VideoFrame *frame)
virtual void ReleaseNextVideoFrame (VideoFrame *buffer, int64_t timecode, bool wrap=true)
 Places frame on the queue of frames ready for display. More...
void ReleaseCurrentFrame (VideoFrame *frame)
void ClearDummyVideoFrame (VideoFrame *frame)
 Instructs VideoOutput to clear the frame to black. More...
void DiscardVideoFrame (VideoFrame *buffer)
 Places frame in the available frames queue. More...
void DiscardVideoFrames (bool next_frame_keyframe)
 Places frames in the available frames queue. More...
void DrawSlice (VideoFrame *frame, int x, int y, int w, int h)
DecoderBaseGetDecoder (void)
 Returns the stream decoder currently in use. More...
void * GetDecoderContext (unsigned char *buf, uint8_t *&id)
virtual bool HasReachedEof (void) const
void SetDisablePassThrough (bool disabled)
void ForceSetupAudioStream (void)
void SaveScreenshot (void)
void ReinitVideo (void)
virtual bool PrepareAudioSample (int64_t &timecode)
uint GetCaptionMode (void) const
void TracksChanged (uint trackType)
 This tries to re-enable captions/subtitles if the user wants them and one of the captions/subtitles tracks has changed. More...
void EnableSubtitles (bool enable)
void EnableForcedSubtitles (bool enable)
bool ForcedSubtitlesFavored (void) const
void SetAllowForcedSubtitles (bool allow)
bool GetAllowForcedSubtitles (void) const
bool SetAudioByComponentTag (int tag)
 Selects the audio stream using the DVB component tag. More...
bool SetVideoByComponentTag (int tag)
 Selects the video stream using the DVB component tag. More...
bool SetStream (const QString &)
long GetStreamPos ()
long GetStreamMaxPos ()
long SetStreamPos (long)
void StreamPlay (bool play=true)
void CheckTVChain ()
void FileChangedCallback ()
virtual int GetNumChapters (void)
virtual int GetCurrentChapter (void)
virtual void GetChapterTimes (QList< long long > &times)
virtual int GetNumTitles (void) const
virtual int GetCurrentTitle (void) const
virtual int GetTitleDuration (int) const
virtual QString GetTitleName (int) const
virtual int GetNumAngles (void) const
virtual int GetCurrentAngle (void) const
virtual QString GetAngleName (int) const
virtual bool GoToMenu (QString)
virtual void GoToDVDProgram (bool direction)
virtual bool IsInStillFrame () const
bool PosMapFromEnc (uint64_t start, frm_pos_map_t &posMap, frm_pos_map_t &durMap)
bool TryLockOSD (void)
void LockOSD (void)
void UnlockOSD (void)
void ToggleStudioLevels (void)
void ToggleNightMode (void)
bool CanVisualise (void)
bool IsVisualising (void)
QString GetVisualiserName (void)
QStringList GetVisualiserList (void)
bool EnableVisualisation (bool enable, const QString &name=QString(""))
void SaveTotalDuration (void)
void ResetTotalDuration (void)
void SaveTotalFrames (void)
void SetErrored (const QString &reason)

Protected Types

typedef QHash< uint, QMap< int, Window > > WindowsOnService

Protected Attributes

CC608Info m_cc608_info
CC708Info m_cc708_info
TeletextInfo m_ttx_info
DVBSubInfo m_dvbsub_info
QHash< uint, WindowsOnServicem_cc708_windows
double m_curTime
 Keeps track for decoding time to make timestamps for subtitles. More...
uint64_t m_myFramesPlayed
bool m_showProgress
QString m_fileName
QDir m_workingDir
QString m_baseName
- Protected Attributes inherited from MythPlayer
PlayerFlags playerFlags
DecoderBasedecoder {nullptr}
QMutex decoder_change_lock {QMutex::Recursive}
VideoOutputvideoOutput {nullptr}
PlayerContextplayer_ctx {nullptr}
DecoderThreaddecoderThread {nullptr}
QThread * playerThread {nullptr}
QWidget * parentWidget {nullptr}
bool embedding {false}
QRect embedRect {0,0,0,0}
float defaultDisplayAspect {1.7777F}
QWaitCondition decoderThreadPause
QWaitCondition decoderThreadUnpause
QMutex decoderPauseLock
QMutex decoderSeekLock
bool totalDecoderPause {false}
bool decoderPaused {false}
bool inJumpToProgramPause {false}
bool pauseDecoder {false}
bool unpauseDecoder {false}
bool volatile killdecoder {false}
int64_t decoderSeek {-1}
bool decodeOneFrame {false}
bool needNewPauseFrame {false}
QMutex bufferPauseLock
QMutex videoPauseLock
QMutex pauseLock
bool bufferPaused {false}
bool videoPaused {false}
bool allpaused {false}
bool playing {false}
QWaitCondition playingWaitCond
QMutex vidExitLock
QMutex playingLock
bool m_double_framerate {false}
 Output fps is double Video (input) rate. More...
bool m_double_process {false}
 Output filter must processed at double rate. More...
bool m_deint_possible {true}
bool livetv {false}
bool watchingrecording {false}
bool transcoding {false}
bool hasFullPositionMap {false}
bool limitKeyRepeat {false}
QMutex errorLock
QString errorMsg
 Reason why NVP exited with a error. More...
int errorType {kError_None}
int jumpchapter {0}
uint64_t bookmarkseek {0}
int clearSavedPosition {1}
int endExitPrompt
long long fftime {0}
 If fftime>0, number of frames to seek forward. More...
int videobuf_retries {0}
 How often we have tried to wait for a video output buffer and failed. More...
uint64_t framesPlayed {0}
uint64_t framesPlayedExtra {0}
uint64_t totalFrames {0}
long long totalLength {0}
int64_t totalDuration {0}
long long rewindtime {0}
int64_t m_latestVideoTimecode {-1}
QElapsedTimer m_avTimer
QSize video_disp_dim {0,0}
 Video (input) width & height. More...
QSize video_dim {0,0}
 Video (input) buffer width & height. More...
double video_frame_rate {29.97F}
 Video (input) Frame Rate (often inaccurate) More...
float video_aspect {4.0F / 3.0F}
 Video (input) Apect Ratio. More...
float forced_video_aspect {-1}
FrameScanType resetScan {kScan_Ignore}
 Tell the player thread to set the scan type (and hence deinterlacers) More...
FrameScanType m_scan {kScan_Interlaced}
 Video (input) Scan Type (interlaced, progressive, detect, ignore...) More...
bool m_scan_locked {false}
 Set when the user selects a scan type, overriding the detected one. More...
int m_scan_tracker {0}
 Used for tracking of scan type for auto-detection of interlacing. More...
bool m_scan_initialized {false}
 Set when SetScanType runs the first time. More...
uint keyframedist {30}
 Video (input) Number of frames between key frames (often inaccurate) More...
QString m_codecName
 Codec Name - used by playback profile. More...
bool buffering {false}
QTime buffering_start
QTime buffering_last_msg
uint textDisplayMode {kDisplayNone}
uint prevTextDisplayMode {kDisplayNone}
uint prevNonzeroTextDisplayMode {kDisplayNone}
uint vbimode {VBIMode::None}
 VBI decoder to use. More...
int ttPageNum {0x888}
 VBI page to display when in PAL vbimode. More...
SubtitleReader subReader
TeletextReader ttxReader
bool captionsEnabledbyDefault {false}
 This allows us to enable captions/subtitles later if the streams are not immediately available when the video starts playing. More...
bool textDesired {false}
bool enableCaptions {false}
bool disableCaptions {false}
bool enableForcedSubtitles {false}
bool disableForcedSubtitles {false}
bool allowForcedSubtitles {true}
CC608Reader cc608
CC708Reader cc708
bool itvVisible {false}
InteractiveTVinteractiveTV {nullptr}
bool itvEnabled {false}
QMutex itvLock
QMutex streamLock
QString m_newStream
OSDosd {nullptr}
bool reinit_osd {false}
QMutex osdLock {QMutex::Recursive}
AudioPlayer audio
AudioOutputGraph m_audiograph
PIPMap pip_players
volatile bool pip_active {false}
volatile bool pip_visible {true}
PIPLocation pip_default_loc
QMutex videofiltersLock
QString videoFiltersForProgram {}
QString videoFiltersOverride {}
int postfilt_width {0}
 Post-Filter (output) width. More...
int postfilt_height {0}
 Post-Filter (output) height. More...
FilterChainvideoFilters {nullptr}
FilterManagerFiltMan {nullptr}
CommBreakMap commBreakMap
bool forcePositionMapSync {false}
DeleteMap deleteMap
bool pausedBeforeEdit {false}
QTime editUpdateTimer
float speedBeforeEdit {1.0F}
QMutex decoder_lock {QMutex::Recursive}
 Lock for next_play_speed and next_normal_speed. More...
float next_play_speed {1.0F}
bool next_normal_speed {true}
float play_speed {1.0F}
bool normal_speed {true}
int frame_interval {(int)(1000000.0F / 30)}
 always adjusted for play_speed More...
int m_frame_interval {0}
 used to detect changes to frame_interval More...
int m_fpsMultiplier {1}
 used to detect changes More...
int ffrew_skip {1}
int ffrew_adjust {0}
bool fileChanged {false}
VideoSyncvideosync {nullptr}
int avsync_delay {0}
int avsync_adjustment {0}
int avsync_avg {0}
int avsync_predictor {0}
bool avsync_predictor_enabled {false}
int refreshrate {0}
bool lastsync {false}
bool decode_extra_audio {false}
int repeat_delay {0}
int64_t disp_timecode {0}
bool avsync_audiopaused {false}
float max_diverge {3.0F}
int avsync_averaging {4}
int avsync_interval {0}
int avsync_next {0}
int prevtc {0}
 32 bit timecode if last VideoFrame shown More...
int prevrp {0}
 repeat_pict of last frame More...
int64_t tc_wrap [TCTYPESMAX] {}
int64_t tc_lastval [TCTYPESMAX] {}
int64_t savedAudioTimecodeOffset {0}
int64_t rtcbase {0}
int64_t maxtcval {0}
int maxtcframes {0}
int64_t avsync2adjustms {10}
int numdroppedframes {0}
int64_t prior_audiotimecode {0}
int64_t prior_videotimecode {0}
int64_t m_timeOffsetBase {0}
TVm_tv {nullptr}
bool isDummy {false}
int bufferingCounter {0}
Jitterometeroutput_jmeter {nullptr}

Private Types

enum  { kProcessNormal = 0, kProcessFinalize = 1 }

Private Member Functions

void IngestSubtitle (QList< OneSubtitle > &, const QStringList &)
 Adds new subtitle, finishes last if needed. More...
void IngestSubtitle (QList< OneSubtitle > &, const OneSubtitle &)
 Adds new subtitle, finishes last if needed. More...
void Ingest608Captions (void)
void Process608Captions (uint flags)
void Ingest708Captions (void)
void Ingest708Caption (uint streamId, uint serviceIdx, uint windowIdx, uint start_row, uint start_column, const CC708Window &win, const vector< CC708String * > &content)
void Process708Captions (uint flags)
void IngestTeletext (void)
void ProcessTeletext (uint flags)
void IngestDVBSubtitles (void)
void ProcessDVBSubtitles (uint flags)
void OnGotNewFrame (void)
 Call it when you got new video frame to process subtitles if any. More...

Additional Inherited Members

- Static Public Attributes inherited from MythPlayer
static const int kNightModeBrightenssAdjustment = 10
static const int kNightModeContrastAdjustment = 10
static const double kInaccuracyNone = 0
static const double kInaccuracyDefault = 0.1
static const double kInaccuracyEditor = 0.5
static const double kInaccuracyFull = -1.0
- Protected Member Functions inherited from MythPlayer
void OpenDummy (void)
virtual void SetBookmark (bool clear=false)
bool AddPIPPlayer (MythPlayer *pip, PIPLocation loc)
bool RemovePIPPlayer (MythPlayer *pip)
void NextScanType (void)
void SetScanType (FrameScanType)
FrameScanType GetScanType (void) const
bool IsScanTypeLocked (void) const
void Zoom (ZoomDirection direction)
void ToggleMoveBottomLine (void)
void SaveBottomLine (void)
void FileChanged (void)
void EmbedInWidget (QRect rect)
void StopEmbedding (void)
void ExposeEvent (void)
bool IsEmbedding (void)
void WindowResized (const QSize &new_size)
uint AdjustVolume (int change)
uint SetVolume (int newvolume)
bool SetMuted (bool mute)
MuteState SetMuteState (MuteState state)
MuteState IncrMuteState (void)
OSDGetOSD (void)
virtual void SeekForScreenGrab (uint64_t &number, uint64_t frameNum, bool absolute)
virtual long long CalcMaxFFTime (long long ff, bool setjump=true) const
 CalcMaxFFTime(ffframes): forward ffframes forward. More...
long long CalcRWTime (long long rw) const
 CalcRWTime(rw): rewind rw frames back. More...
virtual void calcSliderPos (osdInfo &info, bool paddedFields=false)
uint64_t TranslatePositionFrameToMs (uint64_t position, bool use_cutlist) const
uint64_t TranslatePositionMsToFrame (uint64_t position, bool use_cutlist) const
uint64_t TranslatePositionAbsToRel (uint64_t position) const
uint64_t TranslatePositionRelToAbs (uint64_t position) const
float ComputeSecs (uint64_t position, bool use_cutlist) const
uint64_t FindFrame (float offset, bool use_cutlist) const
void SetAutoCommercialSkip (CommSkipMode autoskip)
void SkipCommercials (int direction)
void SetCommBreakMap (frm_dir_map_t &newMap)
CommSkipMode GetAutoCommercialSkip (void)
void ToggleAspectOverride (AspectOverrideMode aspectMode=kAspect_Toggle)
void ToggleAdjustFill (AdjustFillMode adjustfillMode=kAdjustFill_Toggle)
virtual bool StartPlaying (void)
virtual void ResetPlaying (bool resetframes=true)
virtual void EndPlaying (void)
virtual void StopPlaying (void)
bool PauseDecoder (void)
void UnpauseDecoder (void)
bool Pause (void)
bool Play (float speed=1.0, bool normal=true, bool unpauseaudio=true)
virtual bool FastForward (float seconds)
virtual bool Rewind (float seconds)
virtual bool JumpToFrame (uint64_t frame)
void JumpChapter (int chapter)
virtual bool PrebufferEnoughFrames (int min_buffers=0)
void SetBuffering (bool new_buffering)
void RefreshPauseFrame (void)
void CheckAspectRatio (VideoFrame *frame)
virtual void DisplayPauseFrame (void)
virtual void DisplayNormalFrame (bool check_prebuffer=true)
virtual void PreProcessNormalFrame (void)
virtual void VideoStart (void)
virtual bool VideoLoop (void)
virtual void VideoEnd (void)
virtual void DecoderStart (bool start_paused)
virtual void DecoderLoop (bool pause)
virtual void DecoderEnd (void)
virtual void DecoderPauseCheck (void)
virtual void AudioEnd (void)
virtual void EventStart (void)
virtual void EventLoop (void)
virtual void InitialSeek (void)
bool ITVHandleAction (const QString &action)
void ITVRestart (uint chanid, uint cardid, bool isLiveTV)
 Restart the MHEG/MHP engine. More...
bool EnableEdit (void)
bool HandleProgramEditorActions (QStringList &actions)
bool GetEditMode (void) const
void DisableEdit (int howToSave)
 Leave cutlist edit mode, saving work in 1 of 3 ways. More...
bool IsInDelete (uint64_t frame)
uint64_t GetNearestMark (uint64_t frame, bool right)
bool IsTemporaryMark (uint64_t frame)
bool HasTemporaryMark (void)
bool IsCutListSaved (void)
bool DeleteMapHasUndo (void)
bool DeleteMapHasRedo (void)
QString DeleteMapGetUndoMessage (void)
QString DeleteMapGetRedoMessage (void)
void ReinitOSD (void)
void SetOSDMessage (const QString &msg, OSDTimeout timeout)
void SetOSDStatus (const QString &title, OSDTimeout timeout)
void ResetCaptions (void)
bool ToggleCaptions (void)
bool ToggleCaptions (uint type)
bool HasTextSubtitles (void)
void SetCaptionsEnabled (bool, bool osd_msg=true)
bool GetCaptionsEnabled (void)
virtual void DisableCaptions (uint mode, bool osd_msg=true)
virtual void EnableCaptions (uint mode, bool osd_msg=true)
QStringList GetTracks (uint type)
uint GetTrackCount (uint type)
virtual int SetTrack (uint type, int trackNo)
int GetTrack (uint type)
int ChangeTrack (uint type, int dir)
void ChangeCaptionTrack (int dir)
bool HasCaptionTrack (int mode)
int NextCaptionTrack (int mode)
void DoDisableForcedSubtitles (void)
void DoEnableForcedSubtitles (void)
void EnableTeletext (int page=0x100)
void DisableTeletext (void)
void ResetTeletext (void)
bool HandleTeletextAction (const QString &action)
void SetTeletextPage (uint page)
 Set Teletext NUV Caption page. More...
int64_t AdjustAudioTimecodeOffset (int64_t v, int newsync=-9999)
int64_t GetAudioTimecodeOffset (void) const
void InitFilters (void)
FrameScanType detectInterlace (FrameScanType newScan, FrameScanType scan, float fps, int video_height)
virtual void AutoDeint (VideoFrame *frame, bool allow_lock=true)
void SetPlayingInfo (const ProgramInfo &pginfo)
void SetPlaying (bool is_playing)
void ResetErrored (void)
int GetStatusbarPos (void) const
void PauseVideo (void)
void UnpauseVideo (void)
void PauseBuffer (void)
void UnpauseBuffer (void)
virtual void CreateDecoder (char *testbuf, int testreadsize)
void SetDecoder (DecoderBase *dec)
 Sets the stream decoder, deleting any existing recorder. More...
const DecoderBaseGetDecoder (void) const
 Returns the stream decoder currently in use. More...
bool DecodeFrame (struct rtframeheader *frameheader, unsigned char *strm, unsigned char *outbuf)
virtual bool DecoderGetFrameFFREW (void)
virtual bool DecoderGetFrameREW (void)
bool DecoderGetFrame (DecodeType, bool unsafe=false)
bool UpdateFFRewSkip (void)
virtual void ChangeSpeed (void)
bool DoFastForward (uint64_t frames, double inaccuracy)
bool DoRewind (uint64_t frames, double inaccuracy)
bool DoFastForwardSecs (float secs, double inaccuracy, bool use_cutlist)
bool DoRewindSecs (float secs, double inaccuracy, bool use_cutlist)
void DoJumpToFrame (uint64_t frame, double inaccuracy)
void WaitForSeek (uint64_t frame, uint64_t seeksnap_wanted)
void ClearAfterSeek (bool clearvideobuffers=true)
 This is to support seeking... More...
virtual bool DoJumpChapter (int chapter)
virtual int64_t GetChapter (int chapter)
void HandleArbSeek (bool right)
void WrapTimecode (int64_t &timecode, TCTypes tc_type)
void InitAVSync (void)
virtual void AVSync (VideoFrame *buffer, bool limit_delay=false)
void AVSync2 (VideoFrame *buffer)
void ResetAVSync (void)
int64_t AVSyncGetAudiotime (void)
void SetFrameInterval (FrameScanType scan, double frame_period)
void FallbackDeint (void)
 Fallback to non-frame-rate-doubling deinterlacing method. More...
void WaitForTime (int64_t framedue)
void SwitchToProgram (void)
void JumpToProgram (void)
void JumpToStream (const QString &)

Detailed Description

Definition at line 118 of file mythccextractorplayer.h.

Member Typedef Documentation

◆ WindowsOnService

typedef QHash<uint, QMap<int, Window> > MythCCExtractorPlayer::WindowsOnService

Definition at line 171 of file mythccextractorplayer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Definition at line 137 of file mythccextractorplayer.h.

Constructor & Destructor Documentation

◆ MythCCExtractorPlayer() [1/2]

MythCCExtractorPlayer::MythCCExtractorPlayer ( PlayerFlags  flags,
bool  showProgress,
const QString &  fileName,
const QString &  destdir 

Definition at line 52 of file mythccextractorplayer.cpp.

◆ MythCCExtractorPlayer() [2/2]

MythCCExtractorPlayer::MythCCExtractorPlayer ( const MythCCExtractorPlayer rhs)

◆ ~MythCCExtractorPlayer()

MythCCExtractorPlayer::~MythCCExtractorPlayer ( )

Member Function Documentation

◆ run()

bool MythCCExtractorPlayer::run ( void  )

Definition at line 127 of file mythccextractorplayer.cpp.

Referenced by RunCCExtract().

◆ GetCC708Reader()

CC708Reader * MythCCExtractorPlayer::GetCC708Reader ( uint  id = 0)

Reimplemented from MythPlayer.

Definition at line 803 of file mythccextractorplayer.cpp.

◆ GetCC608Reader()

CC608Reader * MythCCExtractorPlayer::GetCC608Reader ( uint  id = 0)

Reimplemented from MythPlayer.

Definition at line 814 of file mythccextractorplayer.cpp.

◆ GetSubReader()

SubtitleReader * MythCCExtractorPlayer::GetSubReader ( uint  id = 0)

Reimplemented from MythPlayer.

Definition at line 831 of file mythccextractorplayer.cpp.

◆ GetTeletextReader()

TeletextReader * MythCCExtractorPlayer::GetTeletextReader ( uint  id = 0)

Reimplemented from MythPlayer.

Definition at line 824 of file mythccextractorplayer.cpp.

◆ IngestSubtitle() [1/2]

void MythCCExtractorPlayer::IngestSubtitle ( QList< OneSubtitle > &  list,
const QStringList &  content 

Adds new subtitle, finishes last if needed.

contentText content of new subtitle (may be empty).
listQueue of subtitles we modify.

Definition at line 217 of file mythccextractorplayer.cpp.

Referenced by Ingest608Captions(), Ingest708Caption(), IngestDVBSubtitles(), and IngestTeletext().

◆ IngestSubtitle() [2/2]

void MythCCExtractorPlayer::IngestSubtitle ( QList< OneSubtitle > &  list,
const OneSubtitle content 

Adds new subtitle, finishes last if needed.

This is a version for DVB graphical subtitles only.

listQueue of subtitles we modify.
contentContent of the new subtitle (may be empty). We're going to use it's img & start_time fields.

Definition at line 260 of file mythccextractorplayer.cpp.

◆ Ingest608Captions()

void MythCCExtractorPlayer::Ingest608Captions ( void  )

Definition at line 295 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame().

◆ Process608Captions()

void MythCCExtractorPlayer::Process608Captions ( uint  flags)

Definition at line 346 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame(), and run().

◆ Ingest708Captions()

void MythCCExtractorPlayer::Ingest708Captions ( void  )

Definition at line 407 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame().

◆ Ingest708Caption()

void MythCCExtractorPlayer::Ingest708Caption ( uint  streamId,
uint  serviceIdx,
uint  windowIdx,
uint  start_row,
uint  start_column,
const CC708Window win,
const vector< CC708String * > &  content 

Definition at line 437 of file mythccextractorplayer.cpp.

Referenced by Ingest708Captions().

◆ Process708Captions()

void MythCCExtractorPlayer::Process708Captions ( uint  flags)

Definition at line 473 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame(), and run().

◆ IngestTeletext()

void MythCCExtractorPlayer::IngestTeletext ( void  )

Definition at line 548 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame().

◆ ProcessTeletext()

void MythCCExtractorPlayer::ProcessTeletext ( uint  flags)

Definition at line 574 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame(), and run().

◆ IngestDVBSubtitles()

void MythCCExtractorPlayer::IngestDVBSubtitles ( void  )

Definition at line 635 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame().

◆ ProcessDVBSubtitles()

void MythCCExtractorPlayer::ProcessDVBSubtitles ( uint  flags)

Definition at line 734 of file mythccextractorplayer.cpp.

Referenced by OnGotNewFrame(), and run().

◆ OnGotNewFrame()

void MythCCExtractorPlayer::OnGotNewFrame ( void  )

Call it when you got new video frame to process subtitles if any.

Definition at line 80 of file mythccextractorplayer.cpp.

Referenced by run().

Member Data Documentation

◆ m_cc608_info

CC608Info MythCCExtractorPlayer::m_cc608_info

◆ m_cc708_info

CC708Info MythCCExtractorPlayer::m_cc708_info

◆ m_ttx_info

TeletextInfo MythCCExtractorPlayer::m_ttx_info

Definition at line 159 of file mythccextractorplayer.h.

Referenced by GetTeletextReader(), IngestTeletext(), and ProcessTeletext().

◆ m_dvbsub_info

DVBSubInfo MythCCExtractorPlayer::m_dvbsub_info

Definition at line 160 of file mythccextractorplayer.h.

Referenced by GetSubReader(), IngestDVBSubtitles(), and ProcessDVBSubtitles().

◆ m_cc708_windows

QHash<uint, WindowsOnService > MythCCExtractorPlayer::m_cc708_windows

Definition at line 172 of file mythccextractorplayer.h.

Referenced by Ingest708Caption().

◆ m_curTime

double MythCCExtractorPlayer::m_curTime

Keeps track for decoding time to make timestamps for subtitles.

Definition at line 175 of file mythccextractorplayer.h.

Referenced by IngestSubtitle(), OnGotNewFrame(), and run().

◆ m_myFramesPlayed

uint64_t MythCCExtractorPlayer::m_myFramesPlayed

Definition at line 176 of file mythccextractorplayer.h.

Referenced by OnGotNewFrame(), and run().

◆ m_showProgress

bool MythCCExtractorPlayer::m_showProgress

Definition at line 177 of file mythccextractorplayer.h.

Referenced by run().

◆ m_fileName

QString MythCCExtractorPlayer::m_fileName

Definition at line 178 of file mythccextractorplayer.h.

Referenced by MythCCExtractorPlayer(), and run().

◆ m_workingDir

QDir MythCCExtractorPlayer::m_workingDir

◆ m_baseName

QString MythCCExtractorPlayer::m_baseName

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