vdr-plugin-softhddevice-drm-gles 1.6.2
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
34public:
35 cPlaylistEntry(std::string);
36
37 std::string OsdItemString(void);
40 std::string GetPath(void) { return m_path; };
41private:
42 std::string m_path;
43 std::string m_file;
44 std::string m_subFolder;
45 std::string m_folder;
47};
48
54class cSoftHdPlayer : public cPlayer, cThread {
55public:
56 cSoftHdPlayer(const char *, cSoftHdDevice *);
57 virtual ~cSoftHdPlayer();
58
59 void SetEntry(int);
60 const char *GetSource(void) { return m_pSource; };
61
62 void JumpSec(int seconds) { m_jumpSec = seconds; };
63 void Pause(bool pause) { m_paused = pause; };
64 bool IsPaused(void) { return m_paused; };
65 void Stop(void) { m_stopped = true; };
67 bool IsRandomPlayActive(void) { return m_random; }
68 int GetCurrentTime(void) { return m_currentTime; }
69 int GetDuration(void) { return m_duration; };
72
73protected:
74 virtual void Activate(bool On);
75 virtual void Action(void);
76
77private:
78 void Play(const char *);
79 void ReadPlaylist(const char *);
80
83
84 char *m_pSource;
88 std::atomic<int> m_jumpSec = 0;
89 std::atomic<bool> m_paused = false;
90 std::atomic<bool> m_stopped = false;
91 std::atomic<bool> m_random = false;
92 bool m_noModify = false;
94 int m_duration = 0;
95};
96
100class cSoftHdControl : public cControl {
101public:
102 cSoftHdControl(const char *, cSoftHdDevice *);
103 virtual ~cSoftHdControl();
104
105 virtual void Hide(void);
106 virtual eOSState ProcessKey(eKeys);
107 static cSoftHdControl *Control() { return m_pControl; }
108 static cSoftHdPlayer *Player() { return m_pPlayer; }
109 void Close(void) { m_closing = true; };
110
111private:
112 void ShowProgress();
113
118 bool m_closing = false;
119};
120
123#endif
Playlist Entry.
Definition mediaplayer.h:33
std::string m_path
Definition mediaplayer.h:42
std::string m_file
Definition mediaplayer.h:43
std::string m_folder
Definition mediaplayer.h:45
std::string m_subFolder
Definition mediaplayer.h:44
std::string GetPath(void)
Definition mediaplayer.h:40
void SetNextEntry(cPlaylistEntry *entry)
Definition mediaplayer.h:39
cPlaylistEntry * GetNextEntry(void)
Definition mediaplayer.h:38
cPlaylistEntry * m_pNextEntry
Definition mediaplayer.h:46
Audio Interface.
Definition audio.h:46
Media Player Control.
static cSoftHdControl * Control()
cSoftHdDevice * m_pDevice
void Close(void)
cSkinDisplayReplay * m_pOsd
static cSoftHdPlayer * Player()
Output Device Implementation.
Media Player.
Definition mediaplayer.h:54
std::atomic< bool > m_stopped
Definition mediaplayer.h:90
bool IsRandomPlayActive(void)
Definition mediaplayer.h:67
bool IsPaused(void)
Definition mediaplayer.h:64
char * m_pSource
Definition mediaplayer.h:84
void JumpSec(int seconds)
Definition mediaplayer.h:62
std::atomic< int > m_jumpSec
Definition mediaplayer.h:88
cPlaylistEntry * m_pFirstEntry
Definition mediaplayer.h:81
std::atomic< bool > m_random
Definition mediaplayer.h:91
int GetDuration(void)
Definition mediaplayer.h:69
void Pause(bool pause)
Definition mediaplayer.h:63
void ToggleRandomPlay(void)
Definition mediaplayer.h:66
const char * GetSource(void)
Definition mediaplayer.h:60
cPlaylistEntry * m_pCurrentEntry
Definition mediaplayer.h:82
void Stop(void)
Definition mediaplayer.h:65
cSoftHdAudio * m_pAudio
Definition mediaplayer.h:87
cPlaylistEntry * GetFirstPlaylistEntry(void)
Definition mediaplayer.h:70
std::atomic< bool > m_paused
Definition mediaplayer.h:89
cPlaylistEntry * GetCurrentPlaylistEntry(void)
Definition mediaplayer.h:71
cSoftHdDevice * m_pDevice
Definition mediaplayer.h:86
int GetCurrentTime(void)
Definition mediaplayer.h:68
virtual eOSState ProcessKey(eKeys)
Handle a key event.
virtual void Action(void)
Main thread action which invokes replay start.
virtual ~cSoftHdPlayer()
void ReadPlaylist(const char *)
Read the playlist file.
std::string OsdItemString(void)
Compose a full-path-string for the OSD entry.
virtual void Activate(bool On)
Start player thread.
void ShowProgress()
Open the replay OSD.
static cSoftHdPlayer * m_pPlayer
static cSoftHdControl * m_pControl
virtual void Hide(void)
Close the replay OSD.
void SetEntry(int)
Set the current entry to play.
virtual ~cSoftHdControl()
void Play(const char *)
Play a file.