diff options
Diffstat (limited to 'sys/bluez/a2dp-codecs.h')
-rw-r--r-- | sys/bluez/a2dp-codecs.h | 39 |
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 |