File indexing completed on 2024-12-08 12:15:35

0001 /*
0002  * BluezQt - Asynchronous BlueZ wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2019 Manuel Weichselbaumer <mincequi@web.de>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #ifndef BLUEZQT_MEDIATYPES_H
0010 #define BLUEZQT_MEDIATYPES_H
0011 
0012 namespace BluezQt
0013 {
0014 /** Assigned number of codec that the endpoint/transport supports.
0015     Currently limited to most common codecs. Further codecs reserved. */
0016 enum class AudioCodec {
0017     Invalid = 0x0000,
0018     Sbc = 0x0001,
0019     // Mp3 = 0x0002,
0020     Aac = 0x0004,
0021     // Atrac = 0x0008,
0022     // AptX = 0x0010,
0023     // AptXLl = 0x0020,
0024     // AptXHd = 0x0040,
0025     // FastStream = 0x0080,
0026     // Ldac = 0x0100,
0027 };
0028 
0029 /** Assigned number of sample rate that the endpoint/transport supports.
0030     Currently limited to most common rates. Further rates reserved. */
0031 enum class AudioSampleRate {
0032     Invalid = 0x0000,
0033     // Rate8000  = 0x0001,
0034     // Rate11025 = 0x0002,
0035     // Rate12000 = 0x0004,
0036     // Rate16000 = 0x0008,
0037     // Rate22050 = 0x0010,
0038     // Rate24000 = 0x0020,
0039     // Rate32000 = 0x0040,
0040     Rate44100 = 0x0080,
0041     Rate48000 = 0x0100,
0042     // Rate64000 = 0x0200,
0043     // Rate88200 = 0x0400,
0044     // Rate96000 = 0x0800
0045 };
0046 
0047 struct AudioConfiguration {
0048     AudioCodec codec = AudioCodec::Invalid;
0049     AudioSampleRate sampleRate = AudioSampleRate::Invalid;
0050 };
0051 
0052 } // namespace BluezQt
0053 
0054 #endif