1 | /* |
2 | * BluezQt - Asynchronous BlueZ wrapper library |
3 | * |
4 | * SPDX-FileCopyrightText: 2019 Manuel Weichselbaumer <mincequi@web.de> |
5 | * |
6 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #ifndef BLUEZQT_MEDIATYPES_H |
10 | #define BLUEZQT_MEDIATYPES_H |
11 | |
12 | namespace BluezQt |
13 | { |
14 | /** Assigned number of codec that the endpoint/transport supports. |
15 | Currently limited to most common codecs. Further codecs reserved. */ |
16 | enum class AudioCodec { |
17 | Invalid = 0x0000, |
18 | Sbc = 0x0001, |
19 | // Mp3 = 0x0002, |
20 | Aac = 0x0004, |
21 | // Atrac = 0x0008, |
22 | // AptX = 0x0010, |
23 | // AptXLl = 0x0020, |
24 | // AptXHd = 0x0040, |
25 | // FastStream = 0x0080, |
26 | // Ldac = 0x0100, |
27 | }; |
28 | |
29 | /** Assigned number of sample rate that the endpoint/transport supports. |
30 | Currently limited to most common rates. Further rates reserved. */ |
31 | enum class AudioSampleRate { |
32 | Invalid = 0x0000, |
33 | // Rate8000 = 0x0001, |
34 | // Rate11025 = 0x0002, |
35 | // Rate12000 = 0x0004, |
36 | // Rate16000 = 0x0008, |
37 | // Rate22050 = 0x0010, |
38 | // Rate24000 = 0x0020, |
39 | // Rate32000 = 0x0040, |
40 | Rate44100 = 0x0080, |
41 | Rate48000 = 0x0100, |
42 | // Rate64000 = 0x0200, |
43 | // Rate88200 = 0x0400, |
44 | // Rate96000 = 0x0800 |
45 | }; |
46 | |
47 | struct AudioConfiguration { |
48 | AudioCodec codec = AudioCodec::Invalid; |
49 | AudioSampleRate sampleRate = AudioSampleRate::Invalid; |
50 | }; |
51 | |
52 | } // namespace BluezQt |
53 | |
54 | #endif |
55 | |