MythTV
master
libs
libmythtv
mythplayervideoui.h
Go to the documentation of this file.
1
#ifndef MYTHPLAYERVIDEOUI_H
2
#define MYTHPLAYERVIDEOUI_H
3
4
// MythTV
5
#include "
DetectLetterbox.h
"
6
#include "
mythinteropgpu.h
"
7
#include "
mythplayercaptionsui.h
"
8
9
class
DecoderCallback
10
{
11
public
:
12
using
Callback
= void (*)(
void
*,
void
*,
void
*);
13
DecoderCallback
() =
default
;
14
DecoderCallback
(QString Debug,
Callback
Function, QAtomicInt *Ready,
15
void
*Opaque1,
void
*Opaque2,
void
*Opaque3)
16
:
m_debug
(
std
::move(Debug)),
17
m_function
(Function),
18
m_ready
(Ready),
19
m_opaque1
(Opaque1),
20
m_opaque2
(Opaque2),
21
m_opaque3
(Opaque3)
22
{
23
}
24
25
QString
m_debug
;
26
Callback
m_function
{
nullptr
};
27
QAtomicInt *
m_ready
{
nullptr
};
28
void
*
m_opaque1
{
nullptr
};
29
void
*
m_opaque2
{
nullptr
};
30
void
*
m_opaque3
{
nullptr
};
31
};
32
33
class
MTV_PUBLIC
MythPlayerVideoUI
:
public
MythPlayerCaptionsUI
34
{
35
Q_OBJECT
36
37
signals:
38
void
RefreshVideoState();
39
void
VideoColourStateChanged(
const
MythVideoColourState
& ColourState);
40
41
public
:
42
MythPlayerVideoUI
(
MythMainWindow
* MainWindow,
TV
* Tv,
PlayerContext
* Context,
PlayerFlags
Flags);
43
~
MythPlayerVideoUI
()
override
=
default
;
44
45
const
MythInteropGPU::InteropMap
& GetInteropTypes()
const
;
46
void
HandleDecoderCallback(
const
QString& Debug,
DecoderCallback::Callback
Function,
47
void
* Opaque1,
void
* Opaque2);
48
49
void
CheckAspectRatio(
MythVideoFrame
*
Frame
);
50
51
public
slots:
52
void
ProcessCallbacks();
53
void
SupportedAttributesChanged(
PictureAttributeSupported
Supported);
54
void
PictureAttributeChanged(
PictureAttribute
Attribute,
int
Value);
55
void
PictureAttributesUpdated(
const
std::map<PictureAttribute,int>& Values);
56
57
protected
slots:
58
void
ReinitOSD();
59
void
ToggleAdjustFill(
AdjustFillMode
Mode
=
kAdjustFill_Toggle
);
60
61
protected
:
62
bool
InitVideo
()
override
;
63
64
DetectLetterbox
m_detectLetterBox { };
65
66
private
:
67
Q_DISABLE_COPY(
MythPlayerVideoUI
)
68
69
QMutex m_decoderCallbackLock;
70
QVector<
DecoderCallback
> m_decoderCallbacks;
71
MythVideoColourState
m_colourState;
72
MythInteropGPU
::InteropMap m_interopTypes;
73
};
74
75
#endif
kAdjustFill_Toggle
@ kAdjustFill_Toggle
Definition:
videoouttypes.h:73
DecoderCallback::DecoderCallback
DecoderCallback()=default
PictureAttributeSupported
PictureAttributeSupported
Definition:
videoouttypes.h:116
DecoderCallback::m_function
Callback m_function
Definition:
mythplayervideoui.h:26
Mode
Mode
Definition:
synaesthesia.h:23
DetectLetterbox.h
Frame
Definition:
zmdefines.h:93
MythPlayerCaptionsUI
Definition:
mythplayercaptionsui.h:8
PlayerFlags
PlayerFlags
Definition:
mythplayer.h:65
DecoderCallback::m_ready
QAtomicInt * m_ready
Definition:
mythplayervideoui.h:27
DecoderCallback::m_opaque3
void * m_opaque3
Definition:
mythplayervideoui.h:30
MythInteropGPU::InteropMap
std::map< VideoFrameType, InteropTypes > InteropMap
Definition:
mythinteropgpu.h:44
DecoderCallback::m_debug
QString m_debug
Definition:
mythplayervideoui.h:25
mythinteropgpu.h
DetectLetterbox
Definition:
DetectLetterbox.h:11
MythVideoColourState
Definition:
mythplayerstate.h:114
DecoderCallback::m_opaque1
void * m_opaque1
Definition:
mythplayervideoui.h:28
MythPlayer::InitVideo
virtual bool InitVideo(void)
Definition:
mythplayer.cpp:274
DecoderCallback
Definition:
mythplayervideoui.h:9
DecoderCallback::m_opaque2
void * m_opaque2
Definition:
mythplayervideoui.h:29
PictureAttribute
PictureAttribute
Definition:
videoouttypes.h:103
MTV_PUBLIC
#define MTV_PUBLIC
Definition:
mythtvexp.h:15
AdjustFillMode
AdjustFillMode
Definition:
videoouttypes.h:71
std
Definition:
mythchrono.h:23
DecoderCallback::Callback
void(*)(void *, void *, void *) Callback
Definition:
mythplayervideoui.h:12
PlayerContext
Definition:
playercontext.h:53
MythVideoFrame
Definition:
mythframe.h:88
DecoderCallback::DecoderCallback
DecoderCallback(QString Debug, Callback Function, QAtomicInt *Ready, void *Opaque1, void *Opaque2, void *Opaque3)
Definition:
mythplayervideoui.h:14
MythPlayerVideoUI
Definition:
mythplayervideoui.h:33
MythMainWindow
Definition:
mythmainwindow.h:28
mythplayercaptionsui.h
MythInteropGPU
Definition:
mythinteropgpu.h:20
TV
Control TV playback.
Definition:
tv_play.h:154
Generated on Wed Sep 6 2023 03:18:29 for MythTV by
1.8.17