MythTV  master
mythplayerui.h
Go to the documentation of this file.
1 #ifndef MYTHPLAYERUI_H
2 #define MYTHPLAYERUI_H
3 
4 // MythTV
5 #include "mythplayereditorui.h"
6 #include "mythvideoscantracker.h"
7 #include "jitterometer.h"
8 #include "mythplayer.h"
9 
11 {
12  Q_OBJECT
13 
14  public slots:
15  void OSDDebugVisibilityChanged(bool Visible);
16 
17  protected slots:
18  void InitialiseState() override;
19  void ChangeOSDDebug();
20  void UpdateOSDDebug();
21  virtual void SetBookmark(bool Clear = false);
22 
23  public:
24  MythPlayerUI(MythMainWindow* MainWindow, TV* Tv, PlayerContext* Context, PlayerFlags Flags);
25 
26  bool StartPlaying();
27  virtual void InitialSeek();
28  virtual void EventLoop();
29  void ReinitVideo(bool ForceUpdate) override;
30  virtual void VideoStart();
31  virtual void EventStart();
32  virtual bool VideoLoop();
33  virtual void PreProcessNormalFrame();
34  void ChangeSpeed() override;
35  void SetVideoParams(int Width, int Height, double FrameRate, float Aspect,
36  bool ForceUpdate, int ReferenceFrames,
38  const QString& CodecName = QString()) override;
39  void GetPlaybackData(InfoMap& Map);
40  void GetCodecDescription(InfoMap& Map);
41  bool CanSupportDoubleRate();
42  void SetWatched(bool ForceWatched = false);
43 
44  protected:
45  void InitFrameInterval() override;
46  virtual void DisplayPauseFrame();
47  virtual void DisplayNormalFrame(bool CheckPrebuffer = true);
48 
49  void FileChanged();
50  void RefreshPauseFrame();
51  void RenderVideoFrame(MythVideoFrame* Frame, FrameScanType Scan, bool Prepare, std::chrono::microseconds Wait);
52  void DoDisplayVideoFrame(MythVideoFrame* Frame, std::chrono::microseconds Due);
53  void EnableFrameRateMonitor(bool Enable = false);
54  void EnableBitrateMonitor(bool Enable = false);
55 
56  Jitterometer m_outputJmeter { "Player" };
57 
58  private:
59  Q_DISABLE_COPY(MythPlayerUI)
60 
61  void SwitchToProgram();
62  void JumpToProgram();
63  void JumpToStream(const QString &stream);
64 
65  bool m_osdDebug { false };
67 };
68 
69 #endif
mythplayereditorui.h
MythPlayer::ChangeSpeed
virtual void ChangeSpeed(void)
Definition: mythplayer.cpp:1372
Frame
Definition: zmdefines.h:93
FrameScanType
FrameScanType
Definition: videoouttypes.h:94
mythplayer.h
PlayerFlags
PlayerFlags
Definition: mythplayer.h:65
MythPlayerUI::m_osdDebugTimer
QTimer m_osdDebugTimer
Definition: mythplayerui.h:66
Visible
Definition: channelsettings.cpp:391
InfoMap
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15
MythPlayerUI
Definition: mythplayerui.h:10
mythvideoscantracker.h
FrameRate
Definition: recorderbase.h:36
jitterometer.h
Jitterometer
Definition: jitterometer.h:43
MythPlayerEditorUI::InitialiseState
void InitialiseState() override
Definition: mythplayereditorui.cpp:24
MythPlayer::ReinitVideo
virtual void ReinitVideo(bool ForceUpdate)
Definition: mythplayer.cpp:300
MythPlayer::SetVideoParams
virtual void SetVideoParams(int w, int h, double fps, float aspect, bool ForceUpdate, int ReferenceFrames, FrameScanType=kScan_Ignore, const QString &codecName=QString())
Definition: mythplayer.cpp:327
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
MythPlayer::InitFrameInterval
virtual void InitFrameInterval()
Definition: mythplayer.cpp:681
MythPlayerEditorUI
Definition: mythplayereditorui.h:7
Clear
#define Clear(a)
Definition: audiooutputopensles.cpp:47
PlayerContext
Definition: playercontext.h:52
MythVideoScanTracker
Definition: mythvideoscantracker.h:12
MythVideoFrame
Definition: mythframe.h:88
MythMainWindow
Definition: mythmainwindow.h:35
kScan_Ignore
@ kScan_Ignore
Definition: videoouttypes.h:96
TV
Control TV playback.
Definition: tv_play.h:154