diff --git a/src/btstack_defines.h b/src/btstack_defines.h index cc28254b3..9fca863ad 100644 --- a/src/btstack_defines.h +++ b/src/btstack_defines.h @@ -1774,6 +1774,51 @@ typedef uint8_t sm_key_t[16]; */ #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 +/** + * @format 12111111112 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param layer_bitmap + * @param crc + * @param channel_mode_bitmap + * @param media_payload_format + * @param sampling_frequency_bitmap + * @param vbr + * @param bit_rate_index_bitmap + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x08 + +/** + * @format 121112131 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param object_type_bitmap + * @param sampling_frequency_bitmap + * @param channels_bitmap + * @param bit_rate + * @param vbr + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x09 + +/** + * @format 1211111132 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param version + * @param channel_mode_bitmap + * @param sampling_frequency_bitmap + * @param vbr + * @param bit_rate_index_bitmap + * @param maximum_sul + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x0A + /** * @format 12112LV * @param subevent_code @@ -1784,7 +1829,7 @@ typedef uint8_t sm_key_t[16]; * @param media_codec_information_len * @param media_codec_information */ -#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x08 +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x0B /** @@ -1793,7 +1838,7 @@ typedef uint8_t sm_key_t[16]; * @param avdtp_cid * @param remote_seid */ -#define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 0x09 +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 0x0C /** @@ -1802,7 +1847,7 @@ typedef uint8_t sm_key_t[16]; * @param avdtp_cid * @param remote_seid */ -#define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 0x0A +#define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 0x0D /** @@ -1814,7 +1859,7 @@ typedef uint8_t sm_key_t[16]; * @param maximum_recovery_window_size * @param maximum_number_media_packets */ -#define AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 0x0B +#define AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY 0x0E /** @@ -1826,7 +1871,7 @@ typedef uint8_t sm_key_t[16]; * @param cp_type_value_len * @param cp_type_value */ -#define AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 0x0C +#define AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY 0x0F /** @@ -1843,7 +1888,7 @@ typedef uint8_t sm_key_t[16]; * @param tcid_2 * @param tcid_3 */ -#define AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 0x0D +#define AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY 0x10 /** @@ -1852,7 +1897,7 @@ typedef uint8_t sm_key_t[16]; * @param avdtp_cid * @param remote_seid */ -#define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x0E +#define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x11 /** @@ -1864,7 +1909,15 @@ typedef uint8_t sm_key_t[16]; * @param media * @param recovery */ -#define AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 0x0F +#define AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY 0x12 + +/** + * @format 121 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + */ +#define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x13 /** @@ -1884,7 +1937,60 @@ typedef uint8_t sm_key_t[16]; * @param min_bitpool_value * @param max_bitpool_value */ -#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x10 +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x14 + +/** + * @format 12111111111211 + * @param subevent_code + * @param avdtp_cid + * @param local_seid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param layer + * @param crc + * @param channel_mode + * @param num_channels + * @param media_payload_format + * @param sampling_frequency + * @param vbr + * @param bit_rate_index + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x15 + +/** + * @format 12111113111 + * @param subevent_code + * @param avdtp_cid + * @param local_seid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param object_type + * @param sampling_frequency + * @param num_channels + * @param bit_rate + * @param vbr + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x16 + +/** + * @format 1211111112112 + * @param subevent_code + * @param avdtp_cid + * @param local_seid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param version + * @param channel_mode + * @param num_channels + * @param sampling_frequency + * @param vbr + * @param bit_rate_index + * @param maximum_sul + */ +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x17 /** * @format 1211112LV @@ -1898,7 +2004,7 @@ typedef uint8_t sm_key_t[16]; * @param media_codec_information_len * @param media_codec_information */ -#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x11 +#define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x18 /** * @format 12B111 @@ -1909,7 +2015,7 @@ typedef uint8_t sm_key_t[16]; * @param remote_seid * @param status 0 == OK */ -#define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x12 +#define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x19 /** * @format 121 @@ -1917,7 +2023,7 @@ typedef uint8_t sm_key_t[16]; * @param avdtp_cid * @param local_seid */ -#define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x13 +#define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x1A /** * @format 1212 @@ -1926,15 +2032,7 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param sequence_number */ -#define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x14 - -/** - * @format 121 - * @param subevent_code - * @param avdtp_cid - * @param remote_seid - */ -#define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x15 +#define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x1B /** @@ -1942,7 +2040,7 @@ typedef uint8_t sm_key_t[16]; * @param subevent_code * @param avdtp_cid */ -#define AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 0x16 +#define AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE 0x1C /** * @format 1212 @@ -1951,7 +2049,8 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param delay_100us */ -#define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 0x17 +#define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT 0x1D + /** A2DP Subevent */ /* Stream goes through following states: @@ -1992,6 +2091,56 @@ typedef uint8_t sm_key_t[16]; */ #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x02 +/** + * @format 1211111111211 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param layer + * @param crc + * @param channel_mode + * @param num_channels + * @param media_payload_format + * @param sampling_frequency + * @param vbr + * @param bit_rate_index + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION 0x03 + +/** + * @format 1211113111 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param object_type + * @param sampling_frequency + * @param num_channels + * @param bit_rate + * @param vbr + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION 0x04 + +/** + * @format 121111112112 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param reconfigure + * @param media_type + * @param version + * @param channel_mode + * @param num_channels + * @param sampling_frequency + * @param vbr + * @param bit_rate_index + * @param maximum_sul + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION 0x05 + /** * @format 1211112LV * @param subevent_code @@ -2004,7 +2153,7 @@ typedef uint8_t sm_key_t[16]; * @param media_codec_information_len * @param media_codec_information */ -#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x03 +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x06 /** * @format 12B111 Stream is opened byt not started. @@ -2015,7 +2164,7 @@ typedef uint8_t sm_key_t[16]; * @param remote_seid * @param status */ -#define A2DP_SUBEVENT_STREAM_ESTABLISHED 0x04 +#define A2DP_SUBEVENT_STREAM_ESTABLISHED 0x07 /** * @format 121 Indicates that media transfer is started. @@ -2023,7 +2172,7 @@ typedef uint8_t sm_key_t[16]; * @param a2dp_cid * @param local_seid */ -#define A2DP_SUBEVENT_STREAM_STARTED 0x05 +#define A2DP_SUBEVENT_STREAM_STARTED 0x08 /** * @format 121 Stream is paused. @@ -2031,7 +2180,7 @@ typedef uint8_t sm_key_t[16]; * @param a2dp_cid * @param local_seid */ -#define A2DP_SUBEVENT_STREAM_SUSPENDED 0x06 +#define A2DP_SUBEVENT_STREAM_SUSPENDED 0x09 /** * @format 121 Stream is stoped or aborted. @@ -2039,7 +2188,7 @@ typedef uint8_t sm_key_t[16]; * @param a2dp_cid * @param local_seid */ -#define A2DP_SUBEVENT_STREAM_STOPPED 0x07 +#define A2DP_SUBEVENT_STREAM_STOPPED 0x0A /** * @format 121 Stream is released. @@ -2047,7 +2196,7 @@ typedef uint8_t sm_key_t[16]; * @param a2dp_cid * @param local_seid */ -#define A2DP_SUBEVENT_STREAM_RELEASED 0x08 +#define A2DP_SUBEVENT_STREAM_RELEASED 0x0B /** * @format 1211 @@ -2056,7 +2205,7 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param signal_identifier */ -#define A2DP_SUBEVENT_COMMAND_ACCEPTED 0x09 +#define A2DP_SUBEVENT_COMMAND_ACCEPTED 0x0C /** * @format 1211 @@ -2065,7 +2214,7 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param signal_identifier */ -#define A2DP_SUBEVENT_COMMAND_REJECTED 0x0A +#define A2DP_SUBEVENT_COMMAND_REJECTED 0x0D /** * @format 12B21 @@ -2075,14 +2224,14 @@ typedef uint8_t sm_key_t[16]; * @param con_handle * @param status 0 == OK */ -#define A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x0B +#define A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x0E /** * @format 12 Signaling channel is released. * @param subevent_code * @param a2dp_cid */ -#define A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x0C +#define A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x0F /** * @format 1211 Stream was reconfigured @@ -2091,7 +2240,80 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param status */ -#define A2DP_SUBEVENT_STREAM_RECONFIGURED 0x0D +#define A2DP_SUBEVENT_STREAM_RECONFIGURED 0x10 + +/** + * @format 12111111111 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param sampling_frequency_bitmap + * @param channel_mode_bitmap + * @param block_length_bitmap + * @param subbands_bitmap + * @param allocation_method_bitmap + * @param min_bitpool_value + * @param max_bitpool_value + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x11 + +/** + * @format 12111111112 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param layer_bitmap + * @param crc + * @param channel_mode_bitmap + * @param media_payload_format + * @param sampling_frequency_bitmap + * @param vbr + * @param bit_rate_index_bitmap + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY 0x12 + +/** + * @format 121112111 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param object_type_bitmap + * @param sampling_frequency_bitmap + * @param channels_bitmap + * @param bit_rate + * @param vbr + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY 0x13 + +/** + * @format 1211111132 + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param version + * @param channel_mode_bitmap + * @param sampling_frequency_bitmap + * @param vbr + * @param bit_rate_index_bitmap + * @param maximum_sul + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY 0x14 + +/** + * @format 12112LV + * @param subevent_code + * @param avdtp_cid + * @param remote_seid + * @param media_type + * @param media_codec_type + * @param media_codec_information_len + * @param media_codec_information + */ +#define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x15 /** * @format 1211 @@ -2100,7 +2322,7 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param remote_seid */ -#define A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x0E +#define A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x16 /** @@ -2110,16 +2332,23 @@ typedef uint8_t sm_key_t[16]; * @param local_seid * @param delay_100us */ -#define A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 0x0F +#define A2DP_SUBEVENT_SIGNALING_DELAY_REPORT 0x17 /** - * @format 1211 + * @format 121 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid */ -#define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x10 +#define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x18 + +/** + * @format 12 + * @param subevent_code + * @param avdtp_cid + */ +#define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE 0x19 + /** AVRCP Subevent */ diff --git a/src/btstack_event.h b/src/btstack_event.h index 5ade56878..331c4d768 100644 --- a/src/btstack_event.h +++ b/src/btstack_event.h @@ -4590,6 +4590,252 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_ma return event[13]; } +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field layer_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return layer_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return crc + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return channel_mode_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return media_payload_format + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return bit_rate_index_bitmap + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ + return little_endian_read_16(event, 13); +} + +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field object_type_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return object_type_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return little_endian_read_16(event, 8); +} +/** + * @brief Get field channels_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return channels_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return bit_rate + * @note: btstack_type 3 + */ +static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ + return little_endian_read_24(event, 11); +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ + return event[14]; +} + +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return version + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return channel_mode_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field bit_rate_index_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return bit_rate_index_bitmap + * @note: btstack_type 3 + */ +static inline uint32_t avdtp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ + return little_endian_read_24(event, 11); +} +/** + * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return maximum_sul + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ + return little_endian_read_16(event, 14); +} + /** * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY * @param event packet @@ -4931,6 +5177,25 @@ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get return event[8]; } +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ + return event[5]; +} + /** * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION * @param event packet @@ -5049,6 +5314,324 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get return event[17]; } +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return local_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_local_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field layer from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return layer + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field crc from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return crc + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return channel_mode + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field media_payload_format from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return media_payload_format + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ + return event[13]; +} +/** + * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_16(event, 14); +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ + return event[16]; +} +/** + * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return bit_rate_index + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ + return event[17]; +} + +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return local_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_local_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field object_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return object_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 3 + */ +static inline uint32_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_24(event, 10); +} +/** + * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ + return event[13]; +} +/** + * @brief Get field bit_rate from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return bit_rate + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ + return event[14]; +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ + return event[15]; +} + +/** + * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return local_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_local_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field version from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return version + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return channel_mode + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_16(event, 12); +} +/** + * @brief Get field vbr from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ + return event[14]; +} +/** + * @brief Get field bit_rate_index from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return bit_rate_index + * @note: btstack_type 1 + */ +static inline uint8_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field maximum_sul from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return maximum_sul + * @note: btstack_type 2 + */ +static inline uint16_t avdtp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ + return little_endian_read_16(event, 16); +} + /** * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION * @param event packet @@ -5215,25 +5798,6 @@ static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_se return little_endian_read_16(event, 6); } -/** - * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE - * @param event packet - * @return avdtp_cid - * @note: btstack_type 2 - */ -static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ - return little_endian_read_16(event, 3); -} -/** - * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE - * @param event packet - * @return remote_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ - return event[5]; -} - /** * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE * @param event packet @@ -5409,6 +5973,297 @@ static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_ return event[17]; } +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_reconfigure(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_type(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field layer from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return layer + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_layer(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return crc + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_crc(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return channel_mode + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_channel_mode(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_num_channels(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return media_payload_format + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_media_payload_format(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_16(event, 13); +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_vbr(const uint8_t * event){ + return event[15]; +} +/** + * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CONFIGURATION + * @param event packet + * @return bit_rate_index + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_configuration_get_bit_rate_index(const uint8_t * event){ + return event[16]; +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_reconfigure(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_media_type(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field object_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return object_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_object_type(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 3 + */ +static inline uint32_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_24(event, 9); +} +/** + * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_num_channels(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return bit_rate + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_bit_rate(const uint8_t * event){ + return event[13]; +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_configuration_get_vbr(const uint8_t * event){ + return event[14]; +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return reconfigure + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_reconfigure(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_media_type(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return version + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_version(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return channel_mode + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_channel_mode(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return num_channels + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_num_channels(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return sampling_frequency + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_sampling_frequency(const uint8_t * event){ + return little_endian_read_16(event, 11); +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_vbr(const uint8_t * event){ + return event[13]; +} +/** + * @brief Get field bit_rate_index from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return bit_rate_index + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_bit_rate_index(const uint8_t * event){ + return event[14]; +} +/** + * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CONFIGURATION + * @param event packet + * @return maximum_sul + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_configuration_get_maximum_sul(const uint8_t * event){ + return little_endian_read_16(event, 15); +} + /** * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION * @param event packet @@ -5735,6 +6590,398 @@ static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t return event[6]; } +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return channel_mode_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field block_length_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return block_length_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field subbands_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return subbands_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field allocation_method_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return allocation_method_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return min_bitpool_value + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY + * @param event packet + * @return max_bitpool_value + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ + return event[13]; +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field layer_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return layer_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_layer_bitmap(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field crc from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return crc + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_crc(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return channel_mode_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_channel_mode_bitmap(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field media_payload_format from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return media_payload_format + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_media_payload_format(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_vbr(const uint8_t * event){ + return event[12]; +} +/** + * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AUDIO_CAPABILITY + * @param event packet + * @return bit_rate_index_bitmap + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_audio_capability_get_bit_rate_index_bitmap(const uint8_t * event){ + return little_endian_read_16(event, 13); +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field object_type_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return object_type_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_object_type_bitmap(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return little_endian_read_16(event, 8); +} +/** + * @brief Get field channels_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return channels_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_channels_bitmap(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field bit_rate from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return bit_rate + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_bit_rate(const uint8_t * event){ + return event[11]; +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_MPEG_AAC_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_mpeg_aac_capability_get_vbr(const uint8_t * event){ + return event[12]; +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field version from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return version + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_version(const uint8_t * event){ + return event[7]; +} +/** + * @brief Get field channel_mode_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return channel_mode_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_channel_mode_bitmap(const uint8_t * event){ + return event[8]; +} +/** + * @brief Get field sampling_frequency_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return sampling_frequency_bitmap + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_sampling_frequency_bitmap(const uint8_t * event){ + return event[9]; +} +/** + * @brief Get field vbr from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return vbr + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_atrac_capability_get_vbr(const uint8_t * event){ + return event[10]; +} +/** + * @brief Get field bit_rate_index_bitmap from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return bit_rate_index_bitmap + * @note: btstack_type 3 + */ +static inline uint32_t a2dp_subevent_signaling_media_codec_atrac_capability_get_bit_rate_index_bitmap(const uint8_t * event){ + return little_endian_read_24(event, 11); +} +/** + * @brief Get field maximum_sul from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_ATRAC_CAPABILITY + * @param event packet + * @return maximum_sul + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_atrac_capability_get_maximum_sul(const uint8_t * event){ + return little_endian_read_16(event, 14); +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); +} +/** + * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return remote_seid + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ + return event[5]; +} +/** + * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return media_type + * @note: btstack_type 1 + */ +static inline uint8_t a2dp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ + return event[6]; +} +/** + * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return media_codec_type + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ + return little_endian_read_16(event, 7); +} +/** + * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return media_codec_information_len + * @note: btstack_type L + */ +static inline uint16_t a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ + return little_endian_read_16(event, 9); +} +/** + * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY + * @param event packet + * @return media_codec_information + * @note: btstack_type V + */ +static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ + return &event[11]; +} + /** * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY * @param event packet @@ -5800,15 +7047,6 @@ static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(cons static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE * @param event packet @@ -5816,7 +7054,17 @@ static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(c * @note: btstack_type 1 */ static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; +} + +/** + * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE + * @param event packet + * @return avdtp_cid + * @note: btstack_type 2 + */ +static inline uint16_t a2dp_subevent_signaling_capabilities_complete_get_avdtp_cid(const uint8_t * event){ + return little_endian_read_16(event, 3); } /** diff --git a/src/classic/avdtp.h b/src/classic/avdtp.h index bc81df10f..33ff61cd0 100644 --- a/src/classic/avdtp.h +++ b/src/classic/avdtp.h @@ -256,12 +256,33 @@ typedef struct { uint8_t num_frames; } avdtp_sbc_codec_header_t; -// typedef struct { -// uint8_t transaction_label; -// avdtp_packet_type_t packet_type; -// avdtp_message_type_t message_type; -// uint8_t signal_identifier; -// } avdtp_signaling_packet_header_t; +typedef enum { + AVDTP_MPEG_LAYER_1 = 1, + AVDTP_MPEG_LAYER_2, + AVDTP_MPEG_LAYER_3, +} avdtp_mpeg_layer_t; + + +typedef enum { + AVDTP_AAC_MPEG2_LC = 1, + AVDTP_AAC_MPEG4_LC, + AVDTP_AAC_MPEG4_LTP, + AVDTP_AAC_MPEG4_SCALABLE +} avdtp_aac_object_type_t; + +typedef enum { + AVDTP_ATRAC_VERSION_1 = 1, + AVDTP_ATRAC_VERSION_2, + AVDTP_ATRAC_VERSION_3 +} avdtp_atrac_version_t; + +// used for MPEG1/2 Audio, ATRAC (no stereo mode) +typedef enum { + AVDTP_CHANNEL_MODE_MONO = 1, + AVDTP_CHANNEL_MODE_DUAL_CHANNEL, + AVDTP_CHANNEL_MODE_STEREO, + AVDTP_CHANNEL_MODE_JOINT_STEREO, +} avdtp_channel_mode_t; typedef struct { uint8_t version;