MythTV
master
|
#include <mythdvdplayer.h>
Public Member Functions | |
MythDVDPlayer (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags=kNoFlags) | |
void | ReleaseNextVideoFrame (MythVideoFrame *Buffer, std::chrono::milliseconds Timecode, bool Wrap=true) override |
bool | HasReachedEof (void) const override |
bool | PrepareAudioSample (std::chrono::milliseconds &Timecode) override |
uint64_t | GetBookmark (void) override |
std::chrono::milliseconds | GetMillisecondsPlayed (bool HonorCutList) override |
std::chrono::milliseconds | GetTotalMilliseconds (bool HonorCutList) const override |
bool | IsInStillFrame () const override |
int | GetNumAngles (void) const override |
int | GetCurrentAngle (void) const override |
QString | GetAngleName (int Angle) const override |
bool | SwitchAngle (int Angle) override |
int | GetNumChapters (void) override |
int | GetCurrentChapter (void) override |
void | GetChapterTimes (QList< std::chrono::seconds > &Times) override |
void | SetStillFrameTimeout (std::chrono::seconds Length) |
void | StillFrameCheck (void) |
Public Member Functions inherited from MythPlayerUI | |
MythPlayerUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
bool | StartPlaying () |
virtual void | EventLoop () |
void | ReinitVideo (bool ForceUpdate) override |
void | ChangeSpeed () override |
void | SetVideoParams (int Width, int Height, double FrameRate, float Aspect, bool ForceUpdate, int ReferenceFrames, FrameScanType Scan=kScan_Ignore, const QString &CodecName=QString()) override |
void | GetPlaybackData (InfoMap &Map) |
void | GetCodecDescription (InfoMap &Map) |
bool | CanSupportDoubleRate () |
void | SetWatched (bool ForceWatched=false) |
Determines if the recording should be considered watched. More... | |
Public Member Functions inherited from MythPlayerEditorUI | |
MythPlayerEditorUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
bool | HandleProgramEditorActions (const QStringList &Actions) |
Public Member Functions inherited from MythPlayerVisualiserUI | |
MythPlayerVisualiserUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
~MythPlayerVisualiserUI () override | |
Public Member Functions inherited from MythPlayerVideoUI | |
MythPlayerVideoUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
~MythPlayerVideoUI () override=default | |
const MythInteropGPU::InteropMap & | GetInteropTypes () const |
Return a list of interop types supported by the current render device. More... | |
void | HandleDecoderCallback (const QString &Debug, DecoderCallback::Callback Function, void *Opaque1, void *Opaque2) |
Convenience function to request and wait for a callback into the main thread. More... | |
void | CheckAspectRatio (MythVideoFrame *Frame) |
Public Member Functions inherited from MythPlayerCaptionsUI | |
MythPlayerCaptionsUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
~MythPlayerCaptionsUI () override | |
QStringList | GetTracks (uint Type) |
uint | GetTrackCount (uint Type) |
int | GetTrack (uint Type) |
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... | |
std::chrono::milliseconds | GetStreamPos () |
std::chrono::milliseconds | GetStreamMaxPos () |
InteractiveTV * | GetInteractiveTV () override |
Public Member Functions inherited from MythPlayerAudioUI | |
MythPlayerAudioUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
const AudioOutputGraph & | GetAudioGraph () const |
void | SetupAudioGraph (double VideoFrameRate) |
void | ClearAudioGraph () |
Public Member Functions inherited from MythPlayerOverlayUI | |
MythPlayerOverlayUI (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
~MythPlayerOverlayUI () override=default | |
virtual void | UpdateSliderInfo (osdInfo &Info, bool PaddedFields=false) |
OSD * | GetOSD () |
void | LockOSD () |
void | UnlockOSD () |
Public Member Functions inherited from MythPlayerUIBase | |
MythPlayerUIBase (MythMainWindow *MainWindow, TV *Tv, PlayerContext *Context, PlayerFlags Flags) | |
MythRender * | GetRender () const |
Public Member Functions inherited from MythPlayer | |
MythPlayer (PlayerContext *Context, PlayerFlags Flags=kNoFlags) | |
~MythPlayer () override | |
virtual int | OpenFile (int Retries=4) |
void | SetLength (std::chrono::seconds len) |
void | SetFramesPlayed (uint64_t played) |
void | SetEof (EofState eof) |
void | SetWatchingRecording (bool mode) |
void | SetKeyframeDistance (int keyframedistance) |
void | SetFileLength (std::chrono::seconds total, int frames) |
void | SetDuration (std::chrono::seconds duration) |
void | SetFrameRate (double fps) |
QSize | GetVideoBufferSize (void) const |
QSize | GetVideoSize (void) const |
float | GetVideoAspect (void) const |
float | GetFrameRate (void) const |
bool | IsAudioNeeded (void) |
int | GetFreeVideoFrames (void) const |
Returns the number of frames available for decoding onto. More... | |
int | GetFFRewSkip (void) const |
float | GetPlaySpeed (void) const |
AudioPlayer * | GetAudio (void) |
float | GetNextPlaySpeed (void) const |
std::chrono::seconds | GetLength (void) const |
uint64_t | GetTotalFrameCount (void) const |
uint64_t | GetCurrentFrameCount (void) const |
uint64_t | GetFramesPlayed (void) const |
QString | GetError (void) const |
QString | GetEncodingType (void) const |
QString | GetXDS (const QString &key) const |
bool | IsPaused (void) const |
bool | GetRawAudioState (void) const |
bool | GetLimitKeyRepeat (void) const |
EofState | GetEof (void) const |
bool | IsErrored (void) const |
bool | IsPlaying (std::chrono::milliseconds wait_in_msec=0ms, 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 | HasTVChainNext (void) const |
bool | IsWatchingInprogress (void) const |
MythVideoOutput * | GetVideoOutput (void) |
virtual bool | SwitchTitle (int) |
virtual bool | NextTitle (void) |
virtual bool | PrevTitle (void) |
virtual bool | NextAngle (void) |
virtual bool | PrevAngle (void) |
MythVideoFrame * | GetNextVideoFrame (void) |
Removes a frame from the available queue for decoding onto. More... | |
void | DeLimboFrame (MythVideoFrame *frame) |
void | DiscardVideoFrame (MythVideoFrame *buffer) |
Places frame in the available frames queue. More... | |
void | DiscardVideoFrames (bool KeyFrame, bool Flushed) |
Places frames in the available frames queue. More... | |
DecoderBase * | GetDecoder (void) |
Returns the stream decoder currently in use. More... | |
void | SetDisablePassThrough (bool disabled) |
void | ForceSetupAudioStream (void) |
virtual CC708Reader * | GetCC708Reader (uint=0) |
virtual CC608Reader * | GetCC608Reader (uint=0) |
virtual SubtitleReader * | GetSubReader (uint=0) |
virtual TeletextReader * | GetTeletextReader (uint=0) |
void | EnableForcedSubtitles (bool enable) |
bool | GetAllowForcedSubtitles (void) const |
void | CheckTVChain () |
void | FileChangedCallback () |
virtual int | GetNumTitles (void) const |
virtual int | GetCurrentTitle (void) const |
virtual std::chrono::seconds | GetTitleDuration (int) const |
virtual QString | GetTitleName (int) const |
bool | PosMapFromEnc (uint64_t start, frm_pos_map_t &posMap, frm_pos_map_t &durMap) |
void | SaveTotalDuration (void) |
void | ResetTotalDuration (void) |
void | SaveTotalFrames (void) |
void | SetErrored (const QString &reason) |
Public Member Functions inherited from MythVideoScanTracker | |
MythVideoScanTracker (MythPlayerUI *Parent) | |
virtual | ~MythVideoScanTracker ()=default |
FrameScanType | NextScanOverride () |
void | SetScanOverride (FrameScanType Scan) |
FrameScanType | GetScanTypeWithOverride () const |
Protected Slots | |
void | GoToMenu (const QString &Menu) |
void | GoToDVDProgram (bool Direction) |
void | SetBookmark (bool Clear=false) override |
void | DisableCaptions (uint Mode, bool OSDMsg=true) override |
void | EnableCaptions (uint Mode, bool OSDMsg=true) override |
void | SetTrack (uint Type, uint TrackNo) override |
void | DoDisableDVDSubtitles () |
Protected Slots inherited from MythPlayerUI | |
void | InitialiseState () override |
void | ChangeOSDDebug () |
void | UpdateOSDDebug () |
virtual void | SetBookmark (bool Clear=false) |
virtual void | SetLastPlayPosition (uint64_t frame=0) |
Protected Slots inherited from MythPlayerEditorUI | |
void | InitialiseState () override |
void | RefreshEditorState (bool CheckSaved=false) |
void | EnableEdit () |
void | DisableEdit (int HowToSave) |
Leave cutlist edit mode, saving work in 1 of 3 ways. More... | |
Protected Slots inherited from MythPlayerVisualiserUI | |
void | InitialiseState () override |
Set initial state and update player. More... | |
void | UIScreenRectChanged (QRect Rect) |
void | EmbedVisualiser (bool Embed, QRect Rect={}) |
void | EnableVisualiser (bool Enable, bool Toggle, const QString &Name) |
void | AudioPlayerStateChanged (const MythAudioPlayerState &State) |
Protected Slots inherited from MythPlayerVideoUI | |
void | ReinitOSD () |
void | ToggleAdjustFill (AdjustFillMode Mode=kAdjustFill_Toggle) |
Protected Slots inherited from MythPlayerCaptionsUI | |
void | InitialiseState () override |
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 | SetAllowForcedSubtitles (bool Allow) |
void | ToggleCaptions () |
void | ToggleCaptionsByType (uint Type) |
void | SetCaptionsEnabled (bool Enable, bool UpdateOSD=true) |
virtual void | DisableCaptions (uint Mode, bool UpdateOSD=true) |
virtual void | EnableCaptions (uint Mode, bool UpdateOSD=true) |
virtual void | SetTrack (uint Type, uint TrackNo) |
void | ChangeCaptionTrack (int Direction) |
void | ChangeTrack (uint Type, int Direction) |
void | ResetCaptions () |
void | EnableTeletext (int Page=0x100) |
void | ResetTeletext () |
void | SetTeletextPage (uint Page) |
Set Teletext NUV Caption page. More... | |
void | HandleTeletextAction (const QString &Action, bool &Handled) |
void | ITVHandleAction (const QString &Action, bool &Handled) |
Submit Action to the interactiveTV object. More... | |
void | ITVRestart (uint Chanid, uint Cardid, bool IsLiveTV) |
Restart the MHEG/MHP engine. More... | |
void | AdjustSubtitleZoom (int Delta) |
void | AdjustSubtitleDelay (std::chrono::milliseconds Delta) |
Protected Slots inherited from MythPlayerAudioUI | |
void | InitialiseState () override |
Initialise audio and signal initial state. More... | |
void | ChangeMuteState (bool CycleChannels) |
void | ChangeVolume (bool Direction, int Volume) |
void | ResetAudio () |
void | ReinitAudio () |
void | EnableUpmix (bool Enable, bool Toggle=false) |
void | PauseAudioUntilBuffered () |
void | AdjustAudioTimecodeOffset (std::chrono::milliseconds Delta, std::chrono::milliseconds Value) |
Protected Slots inherited from MythPlayerOverlayUI | |
void | UpdateOSDMessage (const QString &Message) |
void | UpdateOSDMessage (const QString &Message, OSDTimeout Timeout) |
void | SetOSDStatus (const QString &Title, OSDTimeout Timeout) |
void | UpdateOSDStatus (osdInfo &Info, int Type, enum OSDTimeout Timeout) |
void | UpdateOSDStatus (const QString &Title, const QString &Desc, const QString &Value, int Type, const QString &Units, int Position, OSDTimeout Timeout) |
void | ChangeOSDPositionUpdates (bool Enable) |
void | UpdateOSDPosition () |
Update the OSD status/position window. More... | |
Protected Slots inherited from MythPlayerUIBase | |
virtual void | InitialiseState () |
Protected Member Functions | |
void | ResetPlaying (bool ResetFrames=true) override |
bool | PrebufferEnoughFrames (int MinBuffers=0) override |
void | DecoderPauseCheck (void) override |
void | DoFFRewSkip (void) override |
void | ChangeSpeed (void) override |
void | DisplayPauseFrame (void) override |
void | PreProcessNormalFrame (void) override |
void | VideoStart (void) override |
bool | VideoLoop (void) override |
void | EventStart (void) override |
virtual void | EventEnd (void) |
void | InitialSeek (void) override |
void | AutoDeint (MythVideoFrame *Frame, MythVideoOutput *VideoOutput, std::chrono::microseconds FrameInterval, bool AllowLock=true) override |
Check whether deinterlacing should be enabled. More... | |
long long | CalcMaxFFTime (long long FastFwd, bool Setjump=true) const override |
CalcMaxFFTime(ffframes): forward ffframes forward. More... | |
bool | FastForward (float Seconds) override |
bool | Rewind (float Seconds) override |
bool | JumpToFrame (uint64_t Frame) override |
void | CreateDecoder (TestBufferVec &Testbuf) override |
bool | DoJumpChapter (int Chapter) override |
Protected Member Functions inherited from MythPlayerUI | |
void | InitFrameInterval () override |
virtual bool | DisplayNormalFrame (bool CheckPrebuffer=true) |
void | FileChanged () |
void | RefreshPauseFrame () |
void | RenderVideoFrame (MythVideoFrame *Frame, FrameScanType Scan, bool Prepare, std::chrono::microseconds Wait) |
void | DoDisplayVideoFrame (MythVideoFrame *Frame, std::chrono::microseconds Due) |
void | EnableFrameRateMonitor (bool Enable=false) |
void | EnableBitrateMonitor (bool Enable=false) |
Protected Member Functions inherited from MythPlayerEditorUI | |
void | HandleArbSeek (bool Direction) |
bool | DoFastForwardSecs (float Seconds, double Inaccuracy, bool UseCutlist) |
bool | DoRewindSecs (float Seconds, double Inaccuracy, bool UseCutlist) |
Protected Member Functions inherited from MythPlayerVisualiserUI | |
void | PrepareVisualiser () |
void | RenderVisualiser () |
void | AutoVisualise (bool HaveVideo) |
Enable visualisation if possible, there is no video and user has requested. More... | |
Protected Member Functions inherited from MythPlayerVideoUI | |
bool | InitVideo () override |
Protected Member Functions inherited from MythPlayerCaptionsUI | |
double | SafeFPS () |
void | DoDisableForcedSubtitles () |
void | DoEnableForcedSubtitles () |
void | LoadExternalSubtitles () |
Protected Member Functions inherited from MythPlayerOverlayUI | |
std::chrono::seconds | GetSecondsPlayed (bool HonorCutList) |
std::chrono::seconds | GetTotalSeconds (bool HonorCutList) const |
Protected Member Functions inherited from MythPlayer | |
void | OpenDummy (void) |
long long | CalcRWTime (long long rw) const |
CalcRWTime(rw): rewind rw frames back. More... | |
std::chrono::milliseconds | TranslatePositionFrameToMs (uint64_t position, bool use_cutlist) const |
uint64_t | TranslatePositionMsToFrame (std::chrono::milliseconds 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 (const frm_dir_map_t &NewMap) |
CommSkipMode | GetAutoCommercialSkip (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) |
void | JumpChapter (int chapter) |
void | SetBuffering (bool new_buffering) |
virtual void | VideoEnd (void) |
virtual void | DecoderStart (bool start_paused) |
virtual void | DecoderLoop (bool pause) |
virtual void | DecoderEnd (void) |
virtual void | AudioEnd (void) |
bool | GetEditMode (void) const |
bool | IsInDelete (uint64_t frame) |
bool | FlagIsSet (PlayerFlags arg) |
void | SetPlayingInfo (const ProgramInfo &pginfo) |
void | SetPlaying (bool is_playing) |
void | ResetErrored (void) |
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 DecoderBase * | GetDecoder (void) const |
Returns the stream decoder currently in use. More... | |
bool | DecoderGetFrame (DecodeType decodetype, bool unsafe=false) |
bool | DoGetFrame (DecodeType DecodeType) |
Get one frame from the decoder. More... | |
bool | UpdateFFRewSkip (float ffrewScale=1.0F) |
bool | DoFastForward (uint64_t frames, double inaccuracy) |
bool | DoRewind (uint64_t frames, double inaccuracy) |
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 int64_t | GetChapter (int chapter) |
void | WrapTimecode (std::chrono::milliseconds &timecode, TCTypes tc_type) |
void | SetFrameInterval (FrameScanType scan, double frame_period) |
Protected Member Functions inherited from MythVideoScanTracker | |
void | InitialiseScan (MythVideoOutput *VideoOutput) |
void | UnlockScan () |
void | ResetTracker () |
void | SetScanType (FrameScanType Scan, MythVideoOutput *VideoOutput, std::chrono::microseconds FrameInterval) |
FrameScanType | GetScanForDisplay (MythVideoFrame *Frame, bool &SecondField) |
FrameScanType | GetScanType () const |
void | CheckScanUpdate (MythVideoOutput *VideoOutput, std::chrono::microseconds FrameInterval) |
QString | GetDeinterlacerName () |
FrameScanType | DetectInterlace (FrameScanType NewScan, float Rate, int VideoHeight) |
Private Member Functions | |
void | DisplayDVDButton (void) |
Private Attributes | |
int | m_buttonVersion { 0 } |
bool | m_dvdStillFrameShowing { false } |
int | m_initialTitle { -1 } |
int | m_initialAudioTrack { -1 } |
int | m_initialSubtitleTrack { -1 } |
QString | m_initialDvdState |
MythTimer | m_stillFrameTimer |
std::chrono::seconds | m_stillFrameLength { 0s } |
QRecursiveMutex | m_stillFrameTimerLock |
Definition at line 10 of file mythdvdplayer.h.
MythDVDPlayer::MythDVDPlayer | ( | MythMainWindow * | MainWindow, |
TV * | Tv, | ||
PlayerContext * | Context, | ||
PlayerFlags | Flags = kNoFlags |
||
) |
Definition at line 11 of file mythdvdplayer.cpp.
|
signal |
Referenced by MythDVDPlayer().
|
overridevirtual |
buffer | Buffer |
timecode | Timecode |
wrap | Ignored. This function overrides the callers 'wrap' indication and computes its own based on whether or not video is currently playing. |
Reimplemented from MythPlayer.
Definition at line 39 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 46 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 315 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 372 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayerOverlayUI.
Definition at line 457 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayerOverlayUI.
Definition at line 474 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 645 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 650 of file mythdvdplayer.cpp.
Referenced by GetAngleName(), and SwitchAngle().
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 657 of file mythdvdplayer.cpp.
Referenced by SwitchAngle().
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 664 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 674 of file mythdvdplayer.cpp.
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 499 of file mythdvdplayer.cpp.
Referenced by DoJumpChapter().
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 506 of file mythdvdplayer.cpp.
Referenced by DoJumpChapter().
|
overridevirtual |
Reimplemented from MythPlayer.
Definition at line 513 of file mythdvdplayer.cpp.
void MythDVDPlayer::SetStillFrameTimeout | ( | std::chrono::seconds | Length | ) |
Definition at line 686 of file mythdvdplayer.cpp.
Referenced by MythDVDBuffer::SafeRead(), and MythDVDBuffer::SkipStillFrame().
void MythDVDPlayer::StillFrameCheck | ( | void | ) |
Definition at line 697 of file mythdvdplayer.cpp.
Referenced by DecoderPauseCheck(), and VideoLoop().
Reimplemented from MythPlayer.
Definition at line 304 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 95 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 89 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 100 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 420 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 81 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 111 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 116 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 124 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 255 of file mythdvdplayer.cpp.
|
protectedvirtual |
Definition at line 309 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayerUI.
Definition at line 277 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Check whether deinterlacing should be enabled.
If the user has triggered an override, this will always be used (until 'detect' is requested to turn it off again).
For H264 material, the decoder will signal when the current frame is on a new GOP boundary and if the frame's interlaced flag does not match the current scan type, the scan type is unlocked. This works well for all test clips with mixed progressive/interlaced sequences.
For all other material, we lock the scan type to interlaced when interlaced frames are seen - and do not unlock if we see progressive frames. This is primarily targetted at MPEG2 material where there is a lot of content where the scan type changes frequently - and for no obvious reason. This will result in 'false positives' in some cases but there is no clear approach that works for all cases. The previous behaviour is preserved (i.e. lock to interlaced if interlaced frames are seen) which results in less erratic playback (as the deinterlacers are not continually switched on and off) and correctly deinterlaces material that is not otherwise flagged correctly.
Reimplemented from MythVideoScanTracker.
Definition at line 19 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
CalcMaxFFTime(ffframes): forward ffframes forward.
Handle livetv transitions if necessay
Reimplemented from MythPlayer.
Definition at line 449 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 231 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 238 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 245 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 717 of file mythdvdplayer.cpp.
|
overrideprotectedvirtual |
Reimplemented from MythPlayer.
Definition at line 520 of file mythdvdplayer.cpp.
|
protectedslot |
Definition at line 617 of file mythdvdplayer.cpp.
Referenced by MythDVDPlayer().
|
protectedslot |
Definition at line 634 of file mythdvdplayer.cpp.
Referenced by MythDVDPlayer().
Definition at line 324 of file mythdvdplayer.cpp.
Definition at line 60 of file mythdvdplayer.cpp.
Definition at line 67 of file mythdvdplayer.cpp.
Definition at line 488 of file mythdvdplayer.cpp.
|
protectedslot |
Definition at line 54 of file mythdvdplayer.cpp.
Referenced by MythDVDPlayer().
|
private |
Definition at line 558 of file mythdvdplayer.cpp.
Referenced by DisplayPauseFrame(), and PreProcessNormalFrame().
|
private |
Definition at line 72 of file mythdvdplayer.h.
Referenced by DisplayDVDButton().
Definition at line 73 of file mythdvdplayer.h.
Referenced by VideoLoop().
|
private |
Definition at line 76 of file mythdvdplayer.h.
Referenced by GetBookmark(), and InitialSeek().
|
private |
Definition at line 77 of file mythdvdplayer.h.
Referenced by GetBookmark(), and InitialSeek().
|
private |
Definition at line 78 of file mythdvdplayer.h.
Referenced by GetBookmark(), and InitialSeek().
|
private |
Definition at line 79 of file mythdvdplayer.h.
Referenced by GetBookmark(), and VideoStart().
|
private |
Definition at line 82 of file mythdvdplayer.h.
Referenced by ChangeSpeed(), GetMillisecondsPlayed(), SetStillFrameTimeout(), and StillFrameCheck().
|
private |
Definition at line 83 of file mythdvdplayer.h.
Referenced by ChangeSpeed(), GetMillisecondsPlayed(), GetTotalMilliseconds(), IsInStillFrame(), SetStillFrameTimeout(), and StillFrameCheck().
|
private |
Definition at line 84 of file mythdvdplayer.h.
Referenced by ChangeSpeed(), SetStillFrameTimeout(), and StillFrameCheck().