MythTV
master
mythtv
libs
libmythtv
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
10
class
MythDisplay
;
11
12
class
MTV_PUBLIC
MythPlayerUI
:
public
MythPlayerEditorUI
,
public
MythVideoScanTracker
13
{
14
Q_OBJECT
15
16
public
slots:
17
void
OSDDebugVisibilityChanged(
bool
Visible
);
18
19
protected
slots:
20
void
InitialiseState
()
override
;
21
void
ChangeOSDDebug();
22
void
UpdateOSDDebug();
23
virtual
void
SetBookmark(
bool
Clear
=
false
);
24
virtual
void
SetLastPlayPosition(uint64_t frame = 0);
25
26
public
:
27
MythPlayerUI
(
MythMainWindow
* MainWindow,
TV
* Tv,
PlayerContext
* Context,
PlayerFlags
Flags);
28
29
bool
StartPlaying();
30
virtual
void
InitialSeek();
31
virtual
void
EventLoop();
32
void
ReinitVideo
(
bool
ForceUpdate)
override
;
33
virtual
void
VideoStart();
34
virtual
void
EventStart();
35
virtual
bool
VideoLoop();
36
virtual
void
PreProcessNormalFrame();
37
void
ChangeSpeed
()
override
;
38
void
SetVideoParams
(
int
Width,
int
Height,
double
FrameRate,
float
Aspect,
39
bool
ForceUpdate,
int
ReferenceFrames,
40
FrameScanType
Scan =
kScan_Ignore
,
41
const
QString& CodecName = QString())
override
;
42
void
GetPlaybackData(
InfoMap
& Map);
43
void
GetCodecDescription(
InfoMap
& Map);
44
bool
CanSupportDoubleRate();
45
void
SetWatched(
bool
ForceWatched =
false
);
46
47
protected
:
48
void
InitFrameInterval
()
override
;
49
virtual
void
DisplayPauseFrame();
50
virtual
bool
DisplayNormalFrame(
bool
CheckPrebuffer =
true
);
51
52
void
FileChanged();
53
void
RefreshPauseFrame();
54
void
RenderVideoFrame(
MythVideoFrame
*
Frame
,
FrameScanType
Scan,
bool
Prepare, std::chrono::microseconds Wait);
55
void
DoDisplayVideoFrame(
MythVideoFrame
*
Frame
, std::chrono::microseconds Due);
56
void
EnableFrameRateMonitor(
bool
Enable =
false
);
57
void
EnableBitrateMonitor(
bool
Enable =
false
);
58
59
Jitterometer
m_outputJmeter {
"Player"
};
60
std::chrono::microseconds m_refreshInterval { 0us };
61
62
private
:
63
Q_DISABLE_COPY(
MythPlayerUI
)
64
65
void
SwitchToProgram();
66
void
JumpToProgram();
67
void
JumpToStream(
const
QString &stream);
68
69
bool
m_osdDebug {
false
};
70
QTimer
m_osdDebugTimer
;
71
72
MythDisplay
*m_display {
nullptr
};
73
};
74
75
#endif
mythplayereditorui.h
kScan_Ignore
@ kScan_Ignore
Definition:
videoouttypes.h:96
MythPlayer::ChangeSpeed
virtual void ChangeSpeed(void)
Definition:
mythplayer.cpp:1367
Frame
Definition:
zmdefines.h:102
mythplayer.h
PlayerFlags
PlayerFlags
Definition:
mythplayer.h:64
MythPlayerUI::m_osdDebugTimer
QTimer m_osdDebugTimer
Definition:
mythplayerui.h:70
Visible
Definition:
channelsettings.cpp:416
InfoMap
QHash< QString, QString > InfoMap
Definition:
mythtypes.h:15
MythPlayerUI
Definition:
mythplayerui.h:12
mythvideoscantracker.h
jitterometer.h
MythDisplay
Definition:
mythdisplay.h:22
Jitterometer
Definition:
jitterometer.h:43
MythPlayerEditorUI::InitialiseState
void InitialiseState() override
Definition:
mythplayereditorui.cpp:26
MythPlayer::ReinitVideo
virtual void ReinitVideo(bool ForceUpdate)
Definition:
mythplayer.cpp:294
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:321
MTV_PUBLIC
#define MTV_PUBLIC
Definition:
mythtvexp.h:15
MythPlayer::InitFrameInterval
virtual void InitFrameInterval()
Definition:
mythplayer.cpp:694
MythPlayerEditorUI
Definition:
mythplayereditorui.h:7
Clear
#define Clear(a)
Definition:
audiooutputopensles.cpp:54
PlayerContext
Definition:
playercontext.h:49
FrameScanType
FrameScanType
Definition:
videoouttypes.h:94
MythVideoScanTracker
Definition:
mythvideoscantracker.h:12
MythVideoFrame
Definition:
mythframe.h:87
MythMainWindow
Definition:
mythmainwindow.h:28
TV
Control TV playback.
Definition:
tv_play.h:154
Generated on Wed Feb 5 2025 03:16:25 for MythTV by
1.8.17