vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
mediaplayer.h
Go to the documentation of this file.
1
21#ifndef __MEDIAPLAYER_H
22#define __MEDIAPLAYER_H
23
24#include <atomic>
25#include <string>
26
27#include <vdr/player.h>
28
29class cSoftHdAudio;
30class cSoftHdDevice;
31
32/*****************************************************************************
33 * cPlaylistEntry
34 *
35 * class for a playlist entry
36 ****************************************************************************/
38{
39public:
40 cPlaylistEntry(std::string);
41
42 std::string OsdItemString(void);
44 void SetNextEntry(cPlaylistEntry *entry) { m_pNextEntry = entry; };
45 std::string GetPath(void) { return m_path; };
46private:
47 std::string m_path;
48 std::string m_file;
49 std::string m_subFolder;
50 std::string m_folder;
52};
53
54/*****************************************************************************
55 * cSoftHdPlayer (cPlayer mediaplayer)
56 *
57 * player for mediaplayer mode
58 ****************************************************************************/
59class cSoftHdPlayer : public cPlayer, cThread
60{
61public:
62 cSoftHdPlayer(const char *, cSoftHdDevice *);
63 virtual ~cSoftHdPlayer();
64
65 void SetEntry(int);
66 const char *GetSource(void) { return m_pSource; };
67
68 void JumpSec(int seconds) { m_jumpSec = seconds; };
69 void Pause(bool pause) { m_paused = pause; };
70 bool IsPaused(void) { return m_paused; };
71 void Stop(void) { m_stopped = true; };
73 bool IsRandomPlayActive(void) { return m_random; }
74 int GetCurrentTime(void) { return m_currentTime; }
75 int GetDuration(void) { return m_duration; };
78
79protected:
80 virtual void Activate(bool On);
81 virtual void Action(void);
82
83private:
84 void Play(const char *);
85 void ReadPlaylist(const char *);
86
89
90 char *m_pSource;
94 std::atomic<int> m_jumpSec = 0;
95 std::atomic<bool> m_paused = false;
96 std::atomic<bool> m_stopped = false;
97 std::atomic<bool> m_random = false;
98 bool m_noModify = false;
100 int m_duration = 0;
101};
102
103/*****************************************************************************
104 * cSoftHdControl (cControl mediaplayer)
105 *
106 * control class for mediaplayer mode
107 ****************************************************************************/
108class cSoftHdControl : public cControl
109{
110public:
111 cSoftHdControl(const char *, cSoftHdDevice *);
112 virtual ~cSoftHdControl();
113
114 virtual void Hide(void);
115 virtual eOSState ProcessKey(eKeys);
116 static cSoftHdControl *Control() { return m_pControl; }
117 static cSoftHdPlayer *Player() { return m_pPlayer; }
118 void Close(void) { m_closing = true; };
119
120private:
121 void ShowProgress();
122
125 cSkinDisplayReplay *m_pOsd = nullptr;
127 bool m_closing = false;
128};
129
130#endif
std::string m_path
Definition mediaplayer.h:47
std::string m_file
Definition mediaplayer.h:48
std::string m_folder
Definition mediaplayer.h:50
std::string m_subFolder
Definition mediaplayer.h:49
std::string OsdItemString(void)
Compose a full-path-string for the OSD entry.
std::string GetPath(void)
Definition mediaplayer.h:45
void SetNextEntry(cPlaylistEntry *entry)
Definition mediaplayer.h:44
cPlaylistEntry * GetNextEntry(void)
Definition mediaplayer.h:43
cPlaylistEntry * m_pNextEntry
Definition mediaplayer.h:51
cSoftHdAudio - Audio class
Definition audio.h:51
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()
static cSoftHdPlayer * m_pPlayer
static cSoftHdControl * m_pControl
virtual void Hide(void)
Close the replay OSD.
virtual ~cSoftHdControl()
std::atomic< bool > m_stopped
Definition mediaplayer.h:96
bool IsRandomPlayActive(void)
Definition mediaplayer.h:73
bool IsPaused(void)
Definition mediaplayer.h:70
char * m_pSource
Definition mediaplayer.h:90
virtual void Action(void)
Main thread action which invokes replay start.
virtual ~cSoftHdPlayer()
void JumpSec(int seconds)
Definition mediaplayer.h:68
std::atomic< int > m_jumpSec
Definition mediaplayer.h:94
cPlaylistEntry * m_pFirstEntry
Definition mediaplayer.h:87
std::atomic< bool > m_random
Definition mediaplayer.h:97
int GetDuration(void)
Definition mediaplayer.h:75
void Pause(bool pause)
Definition mediaplayer.h:69
void ToggleRandomPlay(void)
Definition mediaplayer.h:72
void ReadPlaylist(const char *)
Read the playlist file.
const char * GetSource(void)
Definition mediaplayer.h:66
cPlaylistEntry * m_pCurrentEntry
Definition mediaplayer.h:88
void Stop(void)
Definition mediaplayer.h:71
virtual void Activate(bool On)
Start player thread.
cSoftHdAudio * m_pAudio
Definition mediaplayer.h:93
cPlaylistEntry * GetFirstPlaylistEntry(void)
Definition mediaplayer.h:76
std::atomic< bool > m_paused
Definition mediaplayer.h:95
cPlaylistEntry * GetCurrentPlaylistEntry(void)
Definition mediaplayer.h:77
cSoftHdDevice * m_pDevice
Definition mediaplayer.h:92
void SetEntry(int)
Set the current entry to play.
int GetCurrentTime(void)
Definition mediaplayer.h:74
void Play(const char *)
Play a file.