Music Hub
..
A session-wide music playback service
player.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2021-2022 UBports Foundation.
3
*
4
* Contact: Alberto Mardegan <mardy@users.sourceforge.net>
5
*
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU Lesser General Public License version 3,
8
* as published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
#ifndef LOMIRI_MEDIAHUBSERVICE_PLAYER_H
19
#define LOMIRI_MEDIAHUBSERVICE_PLAYER_H
20
21
#include <QMap>
22
#include <QMetaType>
23
#include <QString>
24
25
#include <cstdint>
26
#include <stdexcept>
27
28
namespace
lomiri
{
29
namespace
MediaHubService {
30
31
class
Service;
32
class
TrackListImplementation;
33
34
struct
AVBackend
35
{
36
enum
Backend
37
{
38
none
,
39
hybris
,
40
mir
41
};
42
47
static
Backend
get_backend_type
();
48
};
49
50
class
Player
51
{
52
public
:
53
typedef
double
PlaybackRate
;
54
typedef
double
Volume
;
55
typedef
uint32_t
PlayerKey
;
56
typedef
void
*
GLConsumerWrapperHybris
;
57
typedef
QMap<QString,QString>
HeadersType
;
58
59
static
const
PlayerKey
invalidKey
= 0xffffffff;
60
61
struct
Client
{
62
PlayerKey
key
;
63
QString
name
;
// D-Bus unique connection ID
64
65
bool
operator==
(
const
Client
&o)
const
{
66
return
key
== o.
key
&&
name
== o.
name
;
67
}
68
};
69
70
struct
Errors
71
{
72
Errors
() =
delete
;
73
74
struct
ExceptionBase
:
public
std::runtime_error {
75
ExceptionBase
(
const
QString &msg = {}):
76
std::runtime_error(msg.toStdString()) {}
77
};
78
79
struct
OutOfProcessBufferStreamingNotSupported
:
public
ExceptionBase
{
80
using
ExceptionBase::ExceptionBase
;
81
};
82
83
struct
InsufficientAppArmorPermissions
:
public
ExceptionBase
{
84
using
ExceptionBase::ExceptionBase
;
85
};
86
87
struct
UriNotFound
:
public
ExceptionBase
{
88
using
ExceptionBase::ExceptionBase
;
89
};
90
};
91
92
enum
PlaybackStatus
93
{
94
null
,
95
ready
,
96
playing
,
97
paused
,
98
stopped
99
};
100
101
enum
LoopStatus
102
{
103
none
,
104
track
,
105
playlist
106
};
107
113
enum
AudioStreamRole
114
{
115
alarm
,
116
alert
,
117
multimedia
,
118
phone
119
};
120
121
enum
Orientation
122
{
123
rotate0
,
124
rotate90
,
125
rotate180
,
126
rotate270
127
};
128
129
enum
Lifetime
130
{
131
normal
,
132
resumable
133
};
134
135
enum
Error
136
{
137
no_error
,
138
resource_error
,
139
format_error
,
140
network_error
,
141
access_denied_error
,
142
service_missing_error
143
};
144
};
145
146
}
147
}
148
149
Q_DECLARE_METATYPE(
lomiri::MediaHubService::Player::Client
)
150
151
#endif // LOMIRI_MEDIAHUBSERVICE_PLAYER_H
lomiri::MediaHubService::Player::rotate180
@ rotate180
Definition:
player.h:125
lomiri::MediaHubService::Player::Errors::UriNotFound
Definition:
player.h:87
lomiri::MediaHubService::Player::network_error
@ network_error
Definition:
player.h:140
lomiri::MediaHubService::Player::Error
Error
Definition:
player.h:135
lomiri::MediaHubService::Player::paused
@ paused
Definition:
player.h:97
lomiri::MediaHubService::Player::LoopStatus
LoopStatus
Definition:
player.h:101
lomiri::MediaHubService::Player::rotate270
@ rotate270
Definition:
player.h:126
lomiri::MediaHubService::Player::format_error
@ format_error
Definition:
player.h:139
lomiri::MediaHubService::Player::alarm
@ alarm
Definition:
player.h:115
lomiri::MediaHubService::Player::service_missing_error
@ service_missing_error
Definition:
player.h:142
lomiri::MediaHubService::Player::alert
@ alert
Definition:
player.h:116
lomiri::MediaHubService::Player::GLConsumerWrapperHybris
void * GLConsumerWrapperHybris
Definition:
player.h:56
lomiri::MediaHubService::Player::Volume
double Volume
Definition:
player.h:54
lomiri::MediaHubService::AVBackend::mir
@ mir
Definition:
player.h:40
lomiri::MediaHubService::AVBackend
Definition:
player.h:34
lomiri::MediaHubService::Player::multimedia
@ multimedia
Definition:
player.h:117
lomiri::MediaHubService::AVBackend::Backend
Backend
Definition:
player.h:36
lomiri::MediaHubService::Player::HeadersType
QMap< QString, QString > HeadersType
Definition:
player.h:57
lomiri::MediaHubService::AVBackend::none
@ none
Definition:
player.h:38
lomiri::MediaHubService::Player::rotate0
@ rotate0
Definition:
player.h:123
lomiri::MediaHubService::Player::Errors
Definition:
player.h:70
lomiri::MediaHubService::Player::track
@ track
Definition:
player.h:104
lomiri::MediaHubService::Player::Client
Definition:
player.h:61
lomiri::MediaHubService::Player::AudioStreamRole
AudioStreamRole
Definition:
player.h:113
lomiri::MediaHubService::Player::PlayerKey
uint32_t PlayerKey
Definition:
player.h:55
lomiri::MediaHubService::AVBackend::get_backend_type
static Backend get_backend_type()
Returns the type of audio/video decoding/encoding backend being used.
Definition:
backend.cpp:28
lomiri::MediaHubService::Player::access_denied_error
@ access_denied_error
Definition:
player.h:141
lomiri::MediaHubService::Player::Errors::ExceptionBase::ExceptionBase
ExceptionBase(const QString &msg={})
Definition:
player.h:75
lomiri::MediaHubService::Player::Client::name
QString name
Definition:
player.h:63
lomiri::MediaHubService::Player::PlaybackRate
double PlaybackRate
Definition:
player.h:53
lomiri::MediaHubService::Player::invalidKey
static const PlayerKey invalidKey
Definition:
player.h:59
lomiri::MediaHubService::Player::Errors::Errors
Errors()=delete
lomiri::MediaHubService::Player::Client::operator==
bool operator==(const Client &o) const
Definition:
player.h:65
lomiri::MediaHubService::Player::no_error
@ no_error
Definition:
player.h:137
lomiri::MediaHubService::Player::stopped
@ stopped
Definition:
player.h:98
lomiri::MediaHubService::Player::Errors::ExceptionBase
Definition:
player.h:74
lomiri::MediaHubService::Player::PlaybackStatus
PlaybackStatus
Definition:
player.h:92
lomiri::MediaHubService::Player::Lifetime
Lifetime
Definition:
player.h:129
lomiri::MediaHubService::Player::resource_error
@ resource_error
Definition:
player.h:138
lomiri::MediaHubService::Player::Errors::OutOfProcessBufferStreamingNotSupported
Definition:
player.h:79
lomiri::MediaHubService::Player::phone
@ phone
Definition:
player.h:118
lomiri::MediaHubService::Player::ready
@ ready
Definition:
player.h:95
lomiri::MediaHubService::Player::rotate90
@ rotate90
Definition:
player.h:124
lomiri::MediaHubService::AVBackend::hybris
@ hybris
Definition:
player.h:39
lomiri::MediaHubService::Player::resumable
@ resumable
Definition:
player.h:132
lomiri
Definition:
dbus_utils.h:24
lomiri::MediaHubService::Player
Definition:
player.h:50
lomiri::MediaHubService::Player::normal
@ normal
Definition:
player.h:131
lomiri::MediaHubService::Player::none
@ none
Definition:
player.h:103
lomiri::MediaHubService::Player::playing
@ playing
Definition:
player.h:96
lomiri::MediaHubService::Player::Orientation
Orientation
Definition:
player.h:121
lomiri::MediaHubService::Player::Client::key
PlayerKey key
Definition:
player.h:62
lomiri::MediaHubService::Player::Errors::InsufficientAppArmorPermissions
Definition:
player.h:83
lomiri::MediaHubService::Player::playlist
@ playlist
Definition:
player.h:105
src
service
player.h
Generated on Fri Dec 16 2022 11:18:10 for Music Hub by
1.8.17