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

#include <mythbdplayer.h>

Inheritance diagram for MythBDPlayer:
Inheritance graph
[legend]
Collaboration diagram for MythBDPlayer:
Collaboration graph
[legend]

Public Member Functions

 MythBDPlayer (PlayerFlags flags=kNoFlags)
 
bool HasReachedEof (void) const override
 
bool GoToMenu (QString str) override
 
int GetNumChapters (void) override
 
int GetCurrentChapter (void) override
 
void GetChapterTimes (QList< long long > &times) override
 
int64_t GetChapter (int chapter) override
 
int GetNumTitles (void) const override
 
int GetNumAngles (void) const override
 
int GetCurrentTitle (void) const override
 
int GetCurrentAngle (void) const override
 
int GetTitleDuration (int title) const override
 
QString GetTitleName (int title) const override
 
QString GetAngleName (int angle) const override
 
bool SwitchTitle (int title) override
 
bool PrevTitle (void) override
 
bool NextTitle (void) override
 
bool SwitchAngle (int angle) override
 
bool PrevAngle (void) override
 
bool NextAngle (void) override
 
void SetBookmark (bool clear) override
 
uint64_t GetBookmark (void) override
 
char * GetScreenGrabAtFrame (uint64_t, bool, int &, int &, int &, float &) override
 Returns a one RGB frame grab from a video. More...
 
char * GetScreenGrab (int, int &, int &, int &, float &) override
 Returns a one RGB frame grab from a video. More...
 
- 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 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, float aspect, bool ForceUpdate, int ReferenceFrames, 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 (bool DoubleRate, MythDeintType Deinterlacer)
 
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 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)
 
virtual int64_t GetTotalSeconds (bool honorCutList, int divisor=1000) const
 
int64_t GetLatestVideoTimecode () const
 
QString GetError (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 IsWatchingInprogress (void) const
 
InteractiveTVGetInteractiveTV (void)
 
MythVideoOutputGetVideoOutput (void)
 
MythCodecContextGetMythCodecContext (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)
 
VideoFrameTypeDirectRenderFormats (void)
 Return a list of frame types that can be rendered directly. More...
 
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 DiscardVideoFrame (VideoFrame *buffer)
 Places frame in the available frames queue. More...
 
void DiscardVideoFrames (bool KeyFrame, bool Flushed)
 Places frames in the available frames queue. More...
 
DecoderBaseGetDecoder (void)
 Returns the stream decoder currently in use. More...
 
void SetDisablePassThrough (bool disabled)
 
void ForceSetupAudioStream (void)
 
void ReinitVideo (bool ForceUpdate)
 
virtual bool PrepareAudioSample (int64_t &timecode)
 
uint GetCaptionMode (void) const
 
virtual CC708ReaderGetCC708Reader (uint=0)
 
virtual CC608ReaderGetCC608Reader (uint=0)
 
virtual SubtitleReaderGetSubReader (uint=0)
 
virtual TeletextReaderGetTeletextReader (uint=0)
 
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 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 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 Member Functions

void VideoStart (void) override
 
bool VideoLoop (void) override
 
void EventStart (void) override
 
void DisplayPauseFrame (void) override
 
void PreProcessNormalFrame (void) override
 
bool JumpToFrame (uint64_t frame) override
 
void CreateDecoder (char *testbuf, int testreadsize) override
 
void SeekForScreenGrab (uint64_t &, uint64_t, bool) override
 
- Protected Member Functions inherited from MythPlayer
void OpenDummy (void)
 
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)
 
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 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)
 
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 DisplayNormalFrame (bool check_prebuffer=true)
 
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 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
 
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)
 
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 DoGetFrame (DecodeType DecodeType)
 Get one frame from the decoder. More...
 
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...
 
void ClearBeforeSeek (uint64_t Frames)
 Discard video frames prior to seeking. More...
 
virtual bool DoJumpChapter (int chapter)
 
void HandleArbSeek (bool right)
 
void WrapTimecode (int64_t &timecode, TCTypes tc_type)
 
void InitAVSync (void)
 
virtual void AVSync (VideoFrame *buffer)
 
void ResetAVSync (void)
 
void SetFrameInterval (FrameScanType scan, double frame_period)
 
void WaitForTime (int64_t framedue)
 
void SwitchToProgram (void)
 
void JumpToProgram (void)
 
void JumpToStream (const QString &)
 

Private Member Functions

 Q_DECLARE_TR_FUNCTIONS (MythBDPlayer)
 
void DisplayMenu (void)
 

Private Attributes

bool m_stillFrameShowing {false}
 
QString m_initialBDState
 

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 Attributes inherited from MythPlayer
DetectLetterboxm_detectLetterBox
 
PlayerFlags m_playerFlags
 
DecoderBasem_decoder {nullptr}
 
QMutex m_decoderChangeLock {QMutex::Recursive}
 
MythVideoOutputm_videoOutput {nullptr}
 
PlayerContextm_playerCtx {nullptr}
 
DecoderThreadm_decoderThread {nullptr}
 
QThread * m_playerThread {nullptr}
 
MythDisplaym_display {nullptr}
 
QWidget * m_parentWidget {nullptr}
 
bool m_embedding {false}
 
QRect m_embedRect {0,0,0,0}
 
QWaitCondition m_decoderThreadPause
 
QWaitCondition m_decoderThreadUnpause
 
QMutex m_decoderPauseLock
 
QMutex m_decoderSeekLock
 
bool m_totalDecoderPause {false}
 
bool m_decoderPaused {false}
 
bool m_inJumpToProgramPause {false}
 
bool m_pauseDecoder {false}
 
bool m_unpauseDecoder {false}
 
bool volatile m_killDecoder {false}
 
int64_t m_decoderSeek {-1}
 
bool m_decodeOneFrame {false}
 
bool m_needNewPauseFrame {false}
 
QMutex m_bufferPauseLock
 
QMutex m_videoPauseLock
 
QMutex m_pauseLock
 
bool m_bufferPaused {false}
 
bool m_videoPaused {false}
 
bool m_allPaused {false}
 
bool m_playing {false}
 
QWaitCondition m_playingWaitCond
 
QMutex m_vidExitLock
 
QMutex m_playingLock
 
bool m_doubleFramerate {false}
 Output fps is double Video (input) rate. More...
 
bool m_liveTV {false}
 
bool m_watchingRecording {false}
 
bool m_transcoding {false}
 
bool m_hasFullPositionMap {false}
 
bool m_limitKeyRepeat {false}
 
QMutex m_errorLock
 
QString m_errorMsg
 Reason why NVP exited with a error. More...
 
int m_errorType {kError_None}
 
int m_jumpChapter {0}
 
uint64_t m_bookmarkSeek {0}
 
int m_clearSavedPosition {1}
 
int m_endExitPrompt
 
long long m_ffTime {0}
 If m_ffTime>0, number of frames to seek forward. More...
 
int m_videobufRetries {0}
 How often we have tried to wait for a video output buffer and failed. More...
 
uint64_t m_framesPlayed {0}
 
uint64_t m_framesPlayedExtra {0}
 
uint64_t m_totalFrames {0}
 
long long m_totalLength {0}
 
int64_t m_totalDuration {0}
 
long long m_rewindTime {0}
 
int64_t m_latestVideoTimecode {-1}
 
QElapsedTimer m_avTimer
 
MythDeintType m_lastDeinterlacer { DEINT_NONE }
 
bool m_lastDeinterlacer2x { false }
 
VideoFrameType m_lastFrameCodec { FMT_NONE }
 
QSize m_videoDispDim {0,0}
 Video (input) width & height. More...
 
QSize m_videoDim {0,0}
 Video (input) buffer width & height. More...
 
int m_maxReferenceFrames {0}
 Number of reference frames used in the video stream. More...
 
double m_videoFrameRate {29.97}
 Video (input) Frame Rate (often inaccurate) More...
 
float m_videoAspect {4.0F / 3.0F}
 Video (input) Apect Ratio. More...
 
float m_forcedVideoAspect {-1}
 
FrameScanType m_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_scanLocked {false}
 Set when the user selects a scan type, overriding the detected one. More...
 
int m_scanTracker {0}
 Used for tracking of scan type for auto-detection of interlacing. More...
 
bool m_scanInitialized {false}
 Set when SetScanType runs the first time. More...
 
uint m_keyframeDist {30}
 Video (input) Number of frames between key frames (often inaccurate) More...
 
QString m_codecName
 Codec Name - used by playback profile. More...
 
bool m_buffering {false}
 
QTime m_bufferingStart
 
QTime m_bufferingLastMsg
 
uint m_textDisplayMode {kDisplayNone}
 
uint m_prevTextDisplayMode {kDisplayNone}
 
uint m_prevNonzeroTextDisplayMode {kDisplayNone}
 
uint m_vbiMode {VBIMode::None}
 VBI decoder to use. More...
 
int m_ttPageNum {0x888}
 VBI page to display when in PAL vbimode. More...
 
SubtitleReader m_subReader
 
TeletextReader m_ttxReader
 
bool m_captionsEnabledbyDefault {false}
 This allows us to enable captions/subtitles later if the streams are not immediately available when the video starts playing. More...
 
bool m_textDesired {false}
 
bool m_enableCaptions {false}
 
bool m_disableCaptions {false}
 
bool m_enableForcedSubtitles {false}
 
bool m_disableForcedSubtitles {false}
 
bool m_allowForcedSubtitles {true}
 
CC608Reader m_cc608
 
CC708Reader m_cc708
 
bool m_itvVisible {false}
 
InteractiveTVm_interactiveTV {nullptr}
 
bool m_itvEnabled {false}
 
QMutex m_itvLock
 
QMutex m_streamLock
 
QString m_newStream
 
OSDm_osd {nullptr}
 
bool m_reinitOsd {false}
 
QMutex m_osdLock {QMutex::Recursive}
 
AudioPlayer m_audio
 
AudioOutputGraph m_audiograph
 
PIPMap m_pipPlayers
 
volatile bool m_pipActive {false}
 
volatile bool m_pipVisible {true}
 
PIPLocation m_pipDefaultLoc
 
CommBreakMap m_commBreakMap
 
bool m_forcePositionMapSync {false}
 
DeleteMap m_deleteMap
 
bool m_pausedBeforeEdit {false}
 
QTime m_editUpdateTimer
 
float m_speedBeforeEdit {1.0F}
 
QMutex m_decoderLock {QMutex::Recursive}
 Lock for next_play_speed and next_normal_speed. More...
 
float m_nextPlaySpeed {1.0F}
 
bool m_nextNormalSpeed {true}
 
float m_playSpeed {1.0F}
 
bool m_normalSpeed {true}
 
int m_frameInterval {static_cast<int>((1000000.0F / 30))}
 always adjusted for play_speed More...
 
int m_frameIntervalPrev {0}
 used to detect changes to frame_interval More...
 
int m_fpsMultiplier {1}
 used to detect changes More...
 
int m_ffrewSkip {1}
 
int m_ffrewAdjust {0}
 
bool m_fileChanged {false}
 
VideoSyncm_videoSync {nullptr}
 
int m_avsyncAvg {0}
 
int m_avsyncPredictor {0}
 
int m_refreshRate {0}
 
int64_t m_dispTimecode {0}
 
bool m_avsyncAudioPaused {false}
 
int64_t m_rtcBase {0}
 
int64_t m_maxTcVal {0}
 
int m_maxTcFrames {0}
 
int m_numDroppedFrames {0}
 
int64_t m_priorAudioTimecode {0}
 
int64_t m_priorVideoTimecode {0}
 
float m_lastFix {0.0F}
 
int64_t m_timeOffsetBase {0}
 
int m_prevTc {0}
 32 bit timecode if last VideoFrame shown More...
 
int m_prevRp {0}
 repeat_pict of last frame More...
 
int64_t m_tcWrap [TCTYPESMAX] {}
 
int64_t m_tcLastVal [TCTYPESMAX] {}
 
int64_t m_savedAudioTimecodeOffset {0}
 
TVm_tv {nullptr}
 
bool m_isDummy {false}
 
int m_bufferingCounter {0}
 
Jitterometerm_outputJmeter {nullptr}
 

Detailed Description

Definition at line 10 of file mythbdplayer.h.

Constructor & Destructor Documentation

◆ MythBDPlayer()

MythBDPlayer::MythBDPlayer ( PlayerFlags  flags = kNoFlags)
inlineexplicit

Definition at line 15 of file mythbdplayer.h.

Member Function Documentation

◆ Q_DECLARE_TR_FUNCTIONS()

MythBDPlayer::Q_DECLARE_TR_FUNCTIONS ( MythBDPlayer  )
private

◆ HasReachedEof()

bool MythBDPlayer::HasReachedEof ( void  ) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 9 of file mythbdplayer.cpp.

◆ GoToMenu()

bool MythBDPlayer::GoToMenu ( QString  str)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 22 of file mythbdplayer.cpp.

◆ GetNumChapters()

int MythBDPlayer::GetNumChapters ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 170 of file mythbdplayer.cpp.

Referenced by GetChapter(), and GetChapterTimes().

◆ GetCurrentChapter()

int MythBDPlayer::GetCurrentChapter ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 177 of file mythbdplayer.cpp.

◆ GetChapterTimes()

void MythBDPlayer::GetChapterTimes ( QList< long long > &  times)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 193 of file mythbdplayer.cpp.

◆ GetChapter()

int64_t MythBDPlayer::GetChapter ( int  chapter)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 184 of file mythbdplayer.cpp.

◆ GetNumTitles()

int MythBDPlayer::GetNumTitles ( void  ) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 203 of file mythbdplayer.cpp.

Referenced by GetTitleDuration(), GetTitleName(), NextTitle(), PrevTitle(), and SwitchTitle().

◆ GetNumAngles()

int MythBDPlayer::GetNumAngles ( void  ) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 213 of file mythbdplayer.cpp.

Referenced by GetAngleName(), NextAngle(), PrevAngle(), and SwitchAngle().

◆ GetCurrentTitle()

int MythBDPlayer::GetCurrentTitle ( void  ) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 220 of file mythbdplayer.cpp.

Referenced by NextTitle(), PrevTitle(), and SwitchTitle().

◆ GetCurrentAngle()

int MythBDPlayer::GetCurrentAngle ( void  ) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 227 of file mythbdplayer.cpp.

Referenced by NextAngle(), PrevAngle(), and SwitchAngle().

◆ GetTitleDuration()

int MythBDPlayer::GetTitleDuration ( int  title) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 234 of file mythbdplayer.cpp.

Referenced by GetTitleName().

◆ GetTitleName()

QString MythBDPlayer::GetTitleName ( int  title) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 244 of file mythbdplayer.cpp.

◆ GetAngleName()

QString MythBDPlayer::GetAngleName ( int  angle) const
overridevirtual

Reimplemented from MythPlayer.

Definition at line 261 of file mythbdplayer.cpp.

◆ SwitchTitle()

bool MythBDPlayer::SwitchTitle ( int  title)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 271 of file mythbdplayer.cpp.

Referenced by NextTitle(), and PrevTitle().

◆ PrevTitle()

bool MythBDPlayer::PrevTitle ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 314 of file mythbdplayer.cpp.

◆ NextTitle()

bool MythBDPlayer::NextTitle ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 301 of file mythbdplayer.cpp.

◆ SwitchAngle()

bool MythBDPlayer::SwitchAngle ( int  angle)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 327 of file mythbdplayer.cpp.

Referenced by NextAngle(), and PrevAngle().

◆ PrevAngle()

bool MythBDPlayer::PrevAngle ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 352 of file mythbdplayer.cpp.

◆ NextAngle()

bool MythBDPlayer::NextAngle ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 339 of file mythbdplayer.cpp.

◆ SetBookmark()

void MythBDPlayer::SetBookmark ( bool  clear)
overridevirtual

Reimplemented from MythPlayer.

Definition at line 365 of file mythbdplayer.cpp.

◆ GetBookmark()

uint64_t MythBDPlayer::GetBookmark ( void  )
overridevirtual

Reimplemented from MythPlayer.

Definition at line 412 of file mythbdplayer.cpp.

◆ GetScreenGrabAtFrame()

char* MythBDPlayer::GetScreenGrabAtFrame ( uint64_t  FrameNum,
bool  Absolute,
int &  BufferSize,
int &  FrameWidth,
int &  FrameHeight,
float &  AspectRatio 
)
inlineoverridevirtual

Returns a one RGB frame grab from a video.

User is responsible for deleting the buffer with delete[]. This also tries to skip any commercial breaks for a more useful screen grab for previews.

Warning: Don't use this on something you're playing!

Parameters
frameNum[in] Frame number to capture
absolute[in] If False, make sure we aren't in cutlist or Comm brk
bufflen[out] Size of buffer returned in bytes
vw[out] Width of buffer returned
vh[out] Height of buffer returned
ar[out] Aspect of buffer returned

Reimplemented from MythPlayer.

Definition at line 42 of file mythbdplayer.h.

◆ GetScreenGrab()

char* MythBDPlayer::GetScreenGrab ( int  SecondsIn,
int &  BufferSize,
int &  FrameWidth,
int &  FrameHeight,
float &  AspectRatio 
)
inlineoverridevirtual

Returns a one RGB frame grab from a video.

User is responsible for deleting the buffer with delete[]. This also tries to skip any commercial breaks for a more useful screen grab for previews.

Warning: Don't use this on something you're playing!

Parameters
secondsin[in] Seconds to seek into the buffer
bufflen[out] Size of buffer returned in bytes
vw[out] Width of buffer returned
vh[out] Height of buffer returned
ar[out] Aspect of buffer returned

Reimplemented from MythPlayer.

Definition at line 46 of file mythbdplayer.h.

◆ VideoStart()

void MythBDPlayer::VideoStart ( void  )
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 58 of file mythbdplayer.cpp.

◆ VideoLoop()

bool MythBDPlayer::VideoLoop ( void  )
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 66 of file mythbdplayer.cpp.

◆ EventStart()

void MythBDPlayer::EventStart ( void  )
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 152 of file mythbdplayer.cpp.

◆ DisplayPauseFrame()

void MythBDPlayer::DisplayPauseFrame ( void  )
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 47 of file mythbdplayer.cpp.

◆ PreProcessNormalFrame()

void MythBDPlayer::PreProcessNormalFrame ( void  )
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 17 of file mythbdplayer.cpp.

◆ JumpToFrame()

bool MythBDPlayer::JumpToFrame ( uint64_t  frame)
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 144 of file mythbdplayer.cpp.

◆ CreateDecoder()

void MythBDPlayer::CreateDecoder ( char *  testbuf,
int  testreadsize 
)
overrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 445 of file mythbdplayer.cpp.

◆ SeekForScreenGrab()

void MythBDPlayer::SeekForScreenGrab ( uint64_t &  ,
uint64_t  ,
bool   
)
inlineoverrideprotectedvirtual

Reimplemented from MythPlayer.

Definition at line 66 of file mythbdplayer.h.

◆ DisplayMenu()

void MythBDPlayer::DisplayMenu ( void  )
private

Definition at line 35 of file mythbdplayer.cpp.

Referenced by DisplayPauseFrame(), and PreProcessNormalFrame().

Member Data Documentation

◆ m_stillFrameShowing

bool MythBDPlayer::m_stillFrameShowing {false}
private

Definition at line 72 of file mythbdplayer.h.

Referenced by VideoLoop().

◆ m_initialBDState

QString MythBDPlayer::m_initialBDState
private

Definition at line 73 of file mythbdplayer.h.

Referenced by GetBookmark(), and VideoStart().


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