summaryrefslogtreecommitdiff
path: root/sys/bluez/a2dp-codecs.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/bluez/a2dp-codecs.h')
-rw-r--r--sys/bluez/a2dp-codecs.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/sys/bluez/a2dp-codecs.h b/sys/bluez/a2dp-codecs.h
index b83687288..39e875d67 100644
--- a/sys/bluez/a2dp-codecs.h
+++ b/sys/bluez/a2dp-codecs.h
@@ -90,6 +90,27 @@
#define MPEG_BIT_RATE_32000 0x0002
#define MPEG_BIT_RATE_FREE 0x0001
+#define AAC_OBJECT_TYPE_MPEG2_AAC_LC 0x80
+#define AAC_OBJECT_TYPE_MPEG4_AAC_LC 0x40
+#define AAC_OBJECT_TYPE_MPEG4_AAC_LTP 0x20
+#define AAC_OBJECT_TYPE_MPEG4_AAC_SCALABLE 0x10
+
+#define AAC_SAMPLING_FREQ_8000 0x0800
+#define AAC_SAMPLING_FREQ_11025 0x0400
+#define AAC_SAMPLING_FREQ_12000 0x0200
+#define AAC_SAMPLING_FREQ_16000 0x0100
+#define AAC_SAMPLING_FREQ_22050 0x0080
+#define AAC_SAMPLING_FREQ_24000 0x0040
+#define AAC_SAMPLING_FREQ_32000 0x0020
+#define AAC_SAMPLING_FREQ_44100 0x0010
+#define AAC_SAMPLING_FREQ_48000 0x0008
+#define AAC_SAMPLING_FREQ_64000 0x0004
+#define AAC_SAMPLING_FREQ_88200 0x0002
+#define AAC_SAMPLING_FREQ_96000 0x0001
+
+#define AAC_CHANNELS_1 0x02
+#define AAC_CHANNELS_2 0x01
+
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
typedef struct {
@@ -112,6 +133,15 @@ typedef struct {
uint16_t bitrate;
} __attribute__ ((packed)) a2dp_mpeg_t;
+typedef struct {
+ uint8_t object_type;
+ uint16_t frequency;
+ uint8_t rfa;
+ uint8_t channels;
+ uint8_t vbr;
+ uint32_t bitrate;
+} __attribute__ ((packed)) a2dp_aac_t;
+
#elif G_BYTE_ORDER == G_BIG_ENDIAN
typedef struct {
@@ -134,6 +164,15 @@ typedef struct {
uint16_t bitrate;
} __attribute__ ((packed)) a2dp_mpeg_t;
+typedef struct {
+ uint8_t object_type;
+ uint16_t frequency:12;
+ uint8_t channels:2;
+ uint8_t rfa:2;
+ uint8_t vbr:1;
+ uint32_t bitrate:23;
+} __attribute__ ((packed)) a2dp_aac_t;
+
#else
#error "Unknown byte order"
#endif