vdr-plugin-softhddevice-drm-gles
1.6.4-d0291bb
mediaplayer.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: AGPL-3.0-or-later
2
13
#ifndef __MEDIAPLAYER_H
14
#define __MEDIAPLAYER_H
15
16
#include <atomic>
17
#include <string>
18
19
#include <vdr/player.h>
20
21
class
cSoftHdAudio
;
22
class
cSoftHdDevice
;
23
34
class
cPlaylistEntry
{
35
public
:
36
cPlaylistEntry
(std::string);
37
38
std::string
OsdItemString
(
void
);
39
cPlaylistEntry
*
GetNextEntry
(
void
) {
return
m_pNextEntry
; };
40
void
SetNextEntry
(
cPlaylistEntry
*
entry
) {
m_pNextEntry
=
entry
; };
41
std::string
GetPath
(
void
) {
return
m_path
; };
42
private
:
43
std::string
m_path
;
44
std::string
m_file
;
45
std::string
m_subFolder
;
46
std::string
m_folder
;
47
cPlaylistEntry
*
m_pNextEntry
=
nullptr
;
48
};
49
57
class
cSoftHdPlayer
:
public
cPlayer, cThread {
58
public
:
59
cSoftHdPlayer
(
const
char
*,
cSoftHdDevice
*);
60
virtual
~cSoftHdPlayer
();
61
62
void
SetEntry
(
int
);
63
const
char
*
GetSource
(
void
) {
return
m_pSource
; };
64
65
void
JumpSec
(
int
seconds
) {
m_jumpSec
=
seconds
; };
66
void
Pause
(
bool
pause
) {
m_paused
=
pause
; };
67
bool
IsPaused
(
void
) {
return
m_paused
; };
68
void
Stop
(
void
) {
m_stopped
=
true
; };
69
void
ToggleRandomPlay
(
void
) {
m_random
= !
m_random
; }
70
bool
IsRandomPlayActive
(
void
) {
return
m_random
; }
71
int
GetCurrentTime
(
void
) {
return
m_currentTime
; }
72
int
GetDuration
(
void
) {
return
m_duration
; };
73
cPlaylistEntry
*
GetFirstPlaylistEntry
(
void
) {
return
m_pFirstEntry
; };
74
cPlaylistEntry
*
GetCurrentPlaylistEntry
(
void
) {
return
m_pCurrentEntry
; };
75
76
protected
:
77
virtual
void
Activate
(
bool
On
);
78
virtual
void
Action
(
void
);
79
80
private
:
81
void
Play
(
const
char
*);
82
void
ReadPlaylist
(
const
char
*);
83
84
cPlaylistEntry
*
m_pFirstEntry
=
nullptr
;
85
cPlaylistEntry
*
m_pCurrentEntry
=
nullptr
;
86
87
char
*
m_pSource
;
88
int
m_entries
;
89
cSoftHdDevice
*
m_pDevice
;
90
cSoftHdAudio
*
m_pAudio
;
91
std::atomic<int>
m_jumpSec
= 0;
92
std::atomic<bool>
m_paused
=
false
;
93
std::atomic<bool>
m_stopped
=
false
;
94
std::atomic<bool>
m_random
=
false
;
95
bool
m_noModify
=
false
;
96
int
m_currentTime
= 0;
97
int
m_duration
= 0;
98
};
99
105
class
cSoftHdControl
:
public
cControl {
106
public
:
107
cSoftHdControl
(
const
char
*,
cSoftHdDevice
*);
108
virtual
~cSoftHdControl
();
109
110
virtual
void
Hide
(
void
);
111
virtual
eOSState
ProcessKey
(
eKeys
);
112
static
cSoftHdControl
*
Control
() {
return
m_pControl
; }
113
static
cSoftHdPlayer
*
Player
() {
return
m_pPlayer
; }
114
void
Close
(
void
) {
m_closing
=
true
; };
115
116
private
:
117
void
ShowProgress
();
118
119
static
cSoftHdControl
*
m_pControl
;
120
static
cSoftHdPlayer
*
m_pPlayer
;
121
cSkinDisplayReplay
*
m_pOsd
=
nullptr
;
122
cSoftHdDevice
*
m_pDevice
;
123
bool
m_closing
=
false
;
124
};
125
126
#endif
cPlaylistEntry
Playlist Entry.
Definition
mediaplayer.h:34
cPlaylistEntry::m_path
std::string m_path
Definition
mediaplayer.h:43
cPlaylistEntry::m_file
std::string m_file
Definition
mediaplayer.h:44
cPlaylistEntry::m_folder
std::string m_folder
Definition
mediaplayer.h:46
cPlaylistEntry::m_subFolder
std::string m_subFolder
Definition
mediaplayer.h:45
cPlaylistEntry::OsdItemString
std::string OsdItemString(void)
Compose a full-path-string for the OSD entry.
Definition
mediaplayer.cpp:67
cPlaylistEntry::GetPath
std::string GetPath(void)
Definition
mediaplayer.h:41
cPlaylistEntry::SetNextEntry
void SetNextEntry(cPlaylistEntry *entry)
Definition
mediaplayer.h:40
cPlaylistEntry::GetNextEntry
cPlaylistEntry * GetNextEntry(void)
Definition
mediaplayer.h:39
cPlaylistEntry::m_pNextEntry
cPlaylistEntry * m_pNextEntry
Definition
mediaplayer.h:47
cSoftHdAudio
Audio Interface.
Definition
audio.h:50
cSoftHdControl
Media Player Control.
Definition
mediaplayer.h:105
cSoftHdControl::ProcessKey
virtual eOSState ProcessKey(eKeys)
Handle a key event.
Definition
mediaplayer.cpp:419
cSoftHdControl::Control
static cSoftHdControl * Control()
Definition
mediaplayer.h:112
cSoftHdControl::m_pDevice
cSoftHdDevice * m_pDevice
Definition
mediaplayer.h:122
cSoftHdControl::Close
void Close(void)
Definition
mediaplayer.h:114
cSoftHdControl::m_pOsd
cSkinDisplayReplay * m_pOsd
Definition
mediaplayer.h:121
cSoftHdControl::ShowProgress
void ShowProgress()
Open the replay OSD.
Definition
mediaplayer.cpp:399
cSoftHdControl::Player
static cSoftHdPlayer * Player()
Definition
mediaplayer.h:113
cSoftHdControl::m_closing
bool m_closing
Definition
mediaplayer.h:123
cSoftHdControl::Hide
virtual void Hide(void)
Close the replay OSD.
Definition
mediaplayer.cpp:387
cSoftHdControl::~cSoftHdControl
virtual ~cSoftHdControl()
Definition
mediaplayer.cpp:377
cSoftHdDevice
Output Device Implementation.
Definition
softhddevice.h:116
cSoftHdPlayer
Media Player.
Definition
mediaplayer.h:57
cSoftHdPlayer::m_stopped
std::atomic< bool > m_stopped
Definition
mediaplayer.h:93
cSoftHdPlayer::IsRandomPlayActive
bool IsRandomPlayActive(void)
Definition
mediaplayer.h:70
cSoftHdPlayer::IsPaused
bool IsPaused(void)
Definition
mediaplayer.h:67
cSoftHdPlayer::m_pSource
char * m_pSource
Definition
mediaplayer.h:87
cSoftHdPlayer::Action
virtual void Action(void)
Main thread action which invokes replay start.
Definition
mediaplayer.cpp:144
cSoftHdPlayer::~cSoftHdPlayer
virtual ~cSoftHdPlayer()
Definition
mediaplayer.cpp:111
cSoftHdPlayer::JumpSec
void JumpSec(int seconds)
Definition
mediaplayer.h:65
cSoftHdPlayer::m_jumpSec
std::atomic< int > m_jumpSec
Definition
mediaplayer.h:91
cSoftHdPlayer::m_pFirstEntry
cPlaylistEntry * m_pFirstEntry
Definition
mediaplayer.h:84
cSoftHdPlayer::m_random
std::atomic< bool > m_random
Definition
mediaplayer.h:94
cSoftHdPlayer::GetDuration
int GetDuration(void)
Definition
mediaplayer.h:72
cSoftHdPlayer::Pause
void Pause(bool pause)
Definition
mediaplayer.h:66
cSoftHdPlayer::ToggleRandomPlay
void ToggleRandomPlay(void)
Definition
mediaplayer.h:69
cSoftHdPlayer::ReadPlaylist
void ReadPlaylist(const char *)
Read the playlist file.
Definition
mediaplayer.cpp:181
cSoftHdPlayer::m_noModify
bool m_noModify
Definition
mediaplayer.h:95
cSoftHdPlayer::m_currentTime
int m_currentTime
Definition
mediaplayer.h:96
cSoftHdPlayer::GetSource
const char * GetSource(void)
Definition
mediaplayer.h:63
cSoftHdPlayer::m_pCurrentEntry
cPlaylistEntry * m_pCurrentEntry
Definition
mediaplayer.h:85
cSoftHdPlayer::Stop
void Stop(void)
Definition
mediaplayer.h:68
cSoftHdPlayer::Activate
virtual void Activate(bool On)
Start player thread.
Definition
mediaplayer.cpp:133
cSoftHdPlayer::m_pAudio
cSoftHdAudio * m_pAudio
Definition
mediaplayer.h:90
cSoftHdPlayer::GetFirstPlaylistEntry
cPlaylistEntry * GetFirstPlaylistEntry(void)
Definition
mediaplayer.h:73
cSoftHdPlayer::m_paused
std::atomic< bool > m_paused
Definition
mediaplayer.h:92
cSoftHdPlayer::m_entries
int m_entries
Definition
mediaplayer.h:88
cSoftHdPlayer::m_duration
int m_duration
Definition
mediaplayer.h:97
cSoftHdPlayer::GetCurrentPlaylistEntry
cPlaylistEntry * GetCurrentPlaylistEntry(void)
Definition
mediaplayer.h:74
cSoftHdPlayer::m_pDevice
cSoftHdDevice * m_pDevice
Definition
mediaplayer.h:89
cSoftHdPlayer::SetEntry
void SetEntry(int)
Set the current entry to play.
Definition
mediaplayer.cpp:217
cSoftHdPlayer::GetCurrentTime
int GetCurrentTime(void)
Definition
mediaplayer.h:71
cSoftHdPlayer::Play
void Play(const char *)
Play a file.
Definition
mediaplayer.cpp:236
cSoftHdControl::m_pPlayer
static cSoftHdPlayer * m_pPlayer
Definition
mediaplayer.h:120
cSoftHdControl::m_pControl
static cSoftHdControl * m_pControl
Control instance.
Definition
mediaplayer.h:119
vector
Definition
drmhdr.h:33
mediaplayer.h
Generated by
1.9.8