vdr-plugin-softhddevice-drm-gles
1.6.7
event.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: AGPL-3.0-or-later
2
10
#ifndef __EVENT_H
11
#define __EVENT_H
12
13
#include <variant>
14
#include <vdr/tools.h>
15
16
#include "
config.h
"
17
18
/********************************************************************************
19
* Event Handler
20
*
21
* Controls the state machine.
22
*******************************************************************************/
23
29
enum
BufferUnderrunType
{
30
VIDEO
,
31
AUDIO
,
32
};
33
34
struct
PlayEvent
{};
35
struct
PauseEvent
{};
36
struct
StopEvent
{};
37
struct
TrickSpeedEvent
{
38
double
speed
;
39
bool
active
;
40
bool
forward
;
41
};
42
struct
StillPictureEvent
{
43
const
uchar
*
data
;
44
int
size
;
45
};
46
struct
DetachEvent
{};
47
struct
AttachEvent
{};
48
struct
BufferUnderrunEvent
{
49
BufferUnderrunType
type
;
50
};
51
struct
BufferingThresholdReachedEvent
{};
52
struct
ScheduleResyncAtPtsMsEvent
{
53
int64_t
pts
;
54
};
55
struct
ResyncEvent
{};
56
struct
DisplayChangeEvent
{
57
sDrmMode
mode
;
58
};
59
60
using
Event
= std::variant<
61
PlayEvent
,
62
PauseEvent
,
63
StopEvent
,
64
TrickSpeedEvent
,
65
StillPictureEvent
,
66
DetachEvent
,
67
AttachEvent
,
68
BufferUnderrunEvent
,
69
BufferingThresholdReachedEvent
,
70
ScheduleResyncAtPtsMsEvent
,
71
ResyncEvent
,
72
DisplayChangeEvent
73
>;
74
82
class
IEventReceiver
{
83
public
:
84
virtual
void
OnEventReceived
(
const
Event
&) = 0;
85
};
86
87
#endif
IEventReceiver
Event Receiver.
Definition
event.h:82
IEventReceiver::OnEventReceived
virtual void OnEventReceived(const Event &)=0
config.h
Plugin Configuration Header File.
Event
std::variant< PlayEvent, PauseEvent, StopEvent, TrickSpeedEvent, StillPictureEvent, DetachEvent, AttachEvent, BufferUnderrunEvent, BufferingThresholdReachedEvent, ScheduleResyncAtPtsMsEvent, ResyncEvent, DisplayChangeEvent > Event
Definition
event.h:73
BufferUnderrunType
BufferUnderrunType
Definition
event.h:29
VIDEO
@ VIDEO
Definition
event.h:30
AUDIO
@ AUDIO
Definition
event.h:31
AttachEvent
Definition
event.h:47
BufferUnderrunEvent
Definition
event.h:48
BufferUnderrunEvent::type
BufferUnderrunType type
Definition
event.h:49
BufferingThresholdReachedEvent
Definition
event.h:51
DetachEvent
Definition
event.h:46
DisplayChangeEvent
Definition
event.h:56
DisplayChangeEvent::mode
sDrmMode mode
Definition
event.h:57
PauseEvent
Definition
event.h:35
PlayEvent
Definition
event.h:34
ResyncEvent
Definition
event.h:55
ScheduleResyncAtPtsMsEvent
Definition
event.h:52
ScheduleResyncAtPtsMsEvent::pts
int64_t pts
Definition
event.h:53
StillPictureEvent
Definition
event.h:42
StillPictureEvent::data
const uchar * data
Definition
event.h:43
StillPictureEvent::size
int size
Definition
event.h:44
StopEvent
Definition
event.h:36
TrickSpeedEvent
Definition
event.h:37
TrickSpeedEvent::speed
double speed
Definition
event.h:38
TrickSpeedEvent::active
bool active
Definition
event.h:39
TrickSpeedEvent::forward
bool forward
Definition
event.h:40
sDrmMode
Holds possible display configurations.
Definition
config.h:30
vector
Definition
drmhdr.h:33
event.h
Generated by
1.9.8