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
21class cSoftHdAudio;
22class cSoftHdDevice;
23
35public:
36 cPlaylistEntry(std::string);
37
38 std::string OsdItemString(void);
41 std::string GetPath(void) { return m_path; };
42private:
43 std::string m_path;
44 std::string m_file;
45 std::string m_subFolder;
46 std::string m_folder;
48};
49
57class cSoftHdPlayer : public cPlayer, cThread {
58public:
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; };
70 bool IsRandomPlayActive(void) { return m_random; }
71 int GetCurrentTime(void) { return m_currentTime; }
72 int GetDuration(void) { return m_duration; };
75
76protected:
77 virtual void Activate(bool On);
78 virtual void Action(void);
79
80private:
81 void Play(const char *);
82 void ReadPlaylist(const char *);
83
86
87 char *m_pSource;
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;
97 int m_duration = 0;
98};
99
105class cSoftHdControl : public cControl {
106public:
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
116private:
117 void ShowProgress();
118
123 bool m_closing = false;
124};
125
126#endif
Playlist Entry.
Definition mediaplayer.h:34
std::string m_path
Definition mediaplayer.h:43
std::string m_file
Definition mediaplayer.h:44
std::string m_folder
Definition mediaplayer.h:46
std::string m_subFolder
Definition mediaplayer.h:45
std::string OsdItemString(void)
Compose a full-path-string for the OSD entry.
std::string GetPath(void)
Definition mediaplayer.h:41
void SetNextEntry(cPlaylistEntry *entry)
Definition mediaplayer.h:40
cPlaylistEntry * GetNextEntry(void)
Definition mediaplayer.h:39
cPlaylistEntry * m_pNextEntry
Definition mediaplayer.h:47
Audio Interface.
Definition audio.h:50
Media Player Control.
virtual eOSState ProcessKey(eKeys)
Handle a key event.
static cSoftHdControl * Control()
cSoftHdDevice * m_pDevice
void Close(void)
cSkinDisplayReplay * m_pOsd
void ShowProgress()
Open the replay OSD.
static cSoftHdPlayer * Player()
virtual void Hide(void)
Close the replay OSD.
virtual ~cSoftHdControl()
Output Device Implementation.
Media Player.
Definition mediaplayer.h:57
std::atomic< bool > m_stopped
Definition mediaplayer.h:93
bool IsRandomPlayActive(void)
Definition mediaplayer.h:70
bool IsPaused(void)
Definition mediaplayer.h:67
char * m_pSource
Definition mediaplayer.h:87
virtual void Action(void)
Main thread action which invokes replay start.
virtual ~cSoftHdPlayer()
void JumpSec(int seconds)
Definition mediaplayer.h:65
std::atomic< int > m_jumpSec
Definition mediaplayer.h:91
cPlaylistEntry * m_pFirstEntry
Definition mediaplayer.h:84
std::atomic< bool > m_random
Definition mediaplayer.h:94
int GetDuration(void)
Definition mediaplayer.h:72
void Pause(bool pause)
Definition mediaplayer.h:66
void ToggleRandomPlay(void)
Definition mediaplayer.h:69
void ReadPlaylist(const char *)
Read the playlist file.
const char * GetSource(void)
Definition mediaplayer.h:63
cPlaylistEntry * m_pCurrentEntry
Definition mediaplayer.h:85
void Stop(void)
Definition mediaplayer.h:68
virtual void Activate(bool On)
Start player thread.
cSoftHdAudio * m_pAudio
Definition mediaplayer.h:90
cPlaylistEntry * GetFirstPlaylistEntry(void)
Definition mediaplayer.h:73
std::atomic< bool > m_paused
Definition mediaplayer.h:92
cPlaylistEntry * GetCurrentPlaylistEntry(void)
Definition mediaplayer.h:74
cSoftHdDevice * m_pDevice
Definition mediaplayer.h:89
void SetEntry(int)
Set the current entry to play.
int GetCurrentTime(void)
Definition mediaplayer.h:71
void Play(const char *)
Play a file.
static cSoftHdPlayer * m_pPlayer
static cSoftHdControl * m_pControl
Control instance.