From 1159d239552bc4468cc5d43d754d9e21af0fbe0b Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Fri, 9 Oct 2020 11:53:16 +0200 Subject: [PATCH] avdtp: remove local_seid from capabilities events --- src/btstack_defines.h | 30 ++---- src/btstack_event.h | 168 ++++++++-------------------------- src/classic/avdtp_initiator.c | 6 +- src/classic/avdtp_util.c | 92 ++++++++----------- src/classic/avdtp_util.h | 4 +- 5 files changed, 93 insertions(+), 207 deletions(-) diff --git a/src/btstack_defines.h b/src/btstack_defines.h index 1f49cc02f..c6df8bf4e 100644 --- a/src/btstack_defines.h +++ b/src/btstack_defines.h @@ -1752,10 +1752,9 @@ typedef uint8_t sm_key_t[16]; #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06 /** - * @format 121111111111 + * @format 12111111111 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param media_type * @param sampling_frequency_bitmap @@ -1769,10 +1768,9 @@ typedef uint8_t sm_key_t[16]; #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 /** - * @format 121112LV + * @format 12112LV * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param media_type * @param media_codec_type @@ -1783,30 +1781,27 @@ typedef uint8_t sm_key_t[16]; /** - * @format 1211 + * @format 121 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid */ #define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY 0x09 /** - * @format 1211 + * @format 121 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid */ #define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY 0x0A /** - * @format 1211111 + * @format 121111 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param recovery_type * @param maximum_recovery_window_size @@ -1816,10 +1811,9 @@ typedef uint8_t sm_key_t[16]; /** - * @format 12112LV + * @format 1212LV * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param cp_type * @param cp_type_value_len @@ -1829,10 +1823,9 @@ typedef uint8_t sm_key_t[16]; /** - * @format 121111111111 + * @format 12111111111 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param fragmentation * @param transport_identifiers_num @@ -1847,20 +1840,18 @@ typedef uint8_t sm_key_t[16]; /** - * @format 1211 + * @format 121 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid */ #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY 0x0E /** - * @format 1211111 + * @format 121111 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid * @param back_ch * @param media @@ -1931,10 +1922,9 @@ typedef uint8_t sm_key_t[16]; #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x14 /** - * @format 1211 + * @format 121 * @param subevent_code * @param avdtp_cid - * @param local_seid * @param remote_seid */ #define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE 0x15 diff --git a/src/btstack_event.h b/src/btstack_event.h index e501eb235..6c2e70db4 100644 --- a/src/btstack_event.h +++ b/src/btstack_event.h @@ -4499,15 +4499,6 @@ static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_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_SBC_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY * @param event packet @@ -4515,7 +4506,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_lo * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4524,7 +4515,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_re * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){ - return event[7]; + return event[6]; } /** * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4533,7 +4524,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_me * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){ - return event[8]; + return event[7]; } /** * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4542,7 +4533,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sa * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){ - return event[9]; + return event[8]; } /** * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4551,7 +4542,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_ch * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){ - return event[10]; + return event[9]; } /** * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4560,7 +4551,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_bl * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){ - return event[11]; + return event[10]; } /** * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4569,7 +4560,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_su * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){ - return event[12]; + return event[11]; } /** * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4578,7 +4569,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_al * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){ - return event[13]; + return event[12]; } /** * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY @@ -4587,7 +4578,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_mi * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){ - return event[14]; + return event[13]; } /** @@ -4599,15 +4590,6 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_ma static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_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_OTHER_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY * @param event packet @@ -4615,7 +4597,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_ * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY @@ -4624,7 +4606,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_ * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){ - return event[7]; + return event[6]; } /** * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY @@ -4633,7 +4615,7 @@ static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_ * @note: btstack_type 2 */ static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){ - return little_endian_read_16(event, 8); + return little_endian_read_16(event, 7); } /** * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY @@ -4642,7 +4624,7 @@ static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get * @note: btstack_type L */ static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){ - return little_endian_read_16(event, 10); + return little_endian_read_16(event, 9); } /** * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY @@ -4651,7 +4633,7 @@ static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get * @note: btstack_type V */ static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){ - return &event[12]; + return &event[11]; } /** @@ -4663,15 +4645,6 @@ static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capabil static inline uint16_t avdtp_subevent_signaling_media_transport_capability_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_TRANSPORT_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY * @param event packet @@ -4679,7 +4652,7 @@ static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_lo * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** @@ -4691,15 +4664,6 @@ static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_re static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY * @param event packet @@ -4707,7 +4671,7 @@ static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_se * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** @@ -4719,15 +4683,6 @@ static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_s static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY * @param event packet @@ -4735,7 +4690,7 @@ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_sei * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY @@ -4744,7 +4699,7 @@ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_se * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){ - return event[7]; + return event[6]; } /** * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY @@ -4753,7 +4708,7 @@ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_ * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){ - return event[8]; + return event[7]; } /** * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY @@ -4762,7 +4717,7 @@ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_r * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){ - return event[9]; + return event[8]; } /** @@ -4774,15 +4729,6 @@ static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_n static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY * @param event packet @@ -4790,7 +4736,7 @@ static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY @@ -4799,7 +4745,7 @@ static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get * @note: btstack_type 2 */ static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){ - return little_endian_read_16(event, 7); + return little_endian_read_16(event, 6); } /** * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY @@ -4808,7 +4754,7 @@ static inline uint16_t avdtp_subevent_signaling_content_protection_capability_ge * @note: btstack_type L */ static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){ - return little_endian_read_16(event, 9); + return little_endian_read_16(event, 8); } /** * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY @@ -4817,7 +4763,7 @@ static inline uint16_t avdtp_subevent_signaling_content_protection_capability_ge * @note: btstack_type V */ static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){ - return &event[11]; + return &event[10]; } /** @@ -4829,15 +4775,6 @@ static inline const uint8_t * avdtp_subevent_signaling_content_protection_capabi static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY * @param event packet @@ -4845,7 +4782,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4854,7 +4791,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remot * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){ - return event[7]; + return event[6]; } /** * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4863,7 +4800,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragm * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){ - return event[8]; + return event[7]; } /** * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4872,7 +4809,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_trans * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){ - return event[9]; + return event[8]; } /** * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4881,7 +4818,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_trans * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){ - return event[10]; + return event[9]; } /** * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4890,7 +4827,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_trans * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){ - return event[11]; + return event[10]; } /** * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4899,7 +4836,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_trans * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){ - return event[12]; + return event[11]; } /** * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4908,7 +4845,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_ * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){ - return event[13]; + return event[12]; } /** * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY @@ -4917,7 +4854,7 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_ * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){ - return event[14]; + return event[13]; } /** @@ -4929,15 +4866,6 @@ static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_ static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY * @param event packet @@ -4945,7 +4873,7 @@ static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_lo * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** @@ -4957,15 +4885,6 @@ static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_re static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){ return little_endian_read_16(event, 3); } -/** - * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY * @param event packet @@ -4973,7 +4892,7 @@ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY @@ -4982,7 +4901,7 @@ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){ - return event[7]; + return event[6]; } /** * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY @@ -4991,7 +4910,7 @@ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){ - return event[8]; + return event[7]; } /** * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY @@ -5000,7 +4919,7 @@ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){ - return event[9]; + return event[8]; } /** @@ -5296,15 +5215,6 @@ static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_se 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 local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE - * @param event packet - * @return local_seid - * @note: btstack_type 1 - */ -static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){ - return event[5]; -} /** * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE * @param event packet @@ -5312,7 +5222,7 @@ static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_local_seid( * @note: btstack_type 1 */ static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){ - return event[6]; + return event[5]; } /** diff --git a/src/classic/avdtp_initiator.c b/src/classic/avdtp_initiator.c index 8fb12f1e3..8a48c6705 100644 --- a/src/classic/avdtp_initiator.c +++ b/src/classic/avdtp_initiator.c @@ -141,9 +141,9 @@ void avdtp_initiator_stream_config_subsm(avdtp_connection_t *connection, uint8_t case AVDTP_SI_GET_CAPABILITIES: case AVDTP_SI_GET_ALL_CAPABILITIES: sep.registered_service_categories = avdtp_unpack_service_capabilities(connection, connection->initiator_signaling_packet.signal_identifier, &sep.capabilities, packet+offset, size-offset); - avdtp_signaling_emit_capabilities(connection->avdtp_cid, connection->initiator_local_seid, - connection->initiator_remote_seid, &sep.capabilities, - sep.registered_service_categories); + avdtp_signaling_emit_capabilities(connection->avdtp_cid, + connection->initiator_remote_seid, &sep.capabilities, + sep.registered_service_categories); break; case AVDTP_SI_RECONFIGURE: diff --git a/src/classic/avdtp_util.c b/src/classic/avdtp_util.c index 69d5acadf..1234c6016 100644 --- a/src/classic/avdtp_util.c +++ b/src/classic/avdtp_util.c @@ -598,29 +598,26 @@ void avdtp_signaling_emit_general_reject(uint16_t avdtp_cid, uint8_t local_seid, } static inline void -avdtp_signaling_emit_capability(uint8_t capability_subevent_id, uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid) { - uint8_t event[7]; +avdtp_signaling_emit_capability(uint8_t capability_subevent_id, uint16_t avdtp_cid, uint8_t remote_seid) { + uint8_t event[6]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = capability_subevent_id; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; avdtp_emit_sink_and_source(event, pos); } -static void avdtp_signaling_emit_media_codec_sbc_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - adtvp_media_codec_capabilities_t media_codec) { - uint8_t event[15]; +static void avdtp_signaling_emit_media_codec_sbc_capability(uint16_t avdtp_cid, uint8_t remote_seid, adtvp_media_codec_capabilities_t media_codec) { + uint8_t event[14]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; event[pos++] = media_codec.media_type; event[pos++] = media_codec.media_codec_information[0] >> 4; @@ -633,16 +630,14 @@ static void avdtp_signaling_emit_media_codec_sbc_capability(uint16_t avdtp_cid, avdtp_emit_sink_and_source(event, pos); } -static void avdtp_signaling_emit_media_codec_other_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - adtvp_media_codec_capabilities_t media_codec) { - uint8_t event[MAX_MEDIA_CODEC_INFORMATION_LENGTH + 12]; +static void avdtp_signaling_emit_media_codec_other_capability(uint16_t avdtp_cid, uint8_t remote_seid, adtvp_media_codec_capabilities_t media_codec) { + uint8_t event[MAX_MEDIA_CODEC_INFORMATION_LENGTH + 11]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; event[pos++] = media_codec.media_type; little_endian_store_16(event, pos, media_codec.media_codec_type); @@ -655,31 +650,29 @@ static void avdtp_signaling_emit_media_codec_other_capability(uint16_t avdtp_cid } static void -avdtp_signaling_emit_media_transport_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid) { - avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY, avdtp_cid, local_seid, - remote_seid); +avdtp_signaling_emit_media_transport_capability(uint16_t avdtp_cid, uint8_t remote_seid) { + avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY, avdtp_cid, + remote_seid); } -static void avdtp_signaling_emit_reporting_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid) { - avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY, avdtp_cid, local_seid, remote_seid); +static void avdtp_signaling_emit_reporting_capability(uint16_t avdtp_cid, uint8_t remote_seid) { + avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY, avdtp_cid, remote_seid); } static void -avdtp_signaling_emit_delay_reporting_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid) { - avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY, avdtp_cid, local_seid, - remote_seid); +avdtp_signaling_emit_delay_reporting_capability(uint16_t avdtp_cid, uint8_t remote_seid) { + avdtp_signaling_emit_capability(AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY, avdtp_cid, + remote_seid); } -static void avdtp_signaling_emit_recovery_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - avdtp_recovery_capabilities_t *recovery) { - uint8_t event[10]; +static void avdtp_signaling_emit_recovery_capability(uint16_t avdtp_cid, uint8_t remote_seid, avdtp_recovery_capabilities_t *recovery) { + uint8_t event[9]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; event[pos++] = recovery->recovery_type; event[pos++] = recovery->maximum_recovery_window_size; @@ -688,16 +681,14 @@ static void avdtp_signaling_emit_recovery_capability(uint16_t avdtp_cid, uint8_t } static void -avdtp_signaling_emit_content_protection_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - adtvp_content_protection_t *content_protection) { - uint8_t event[22]; +avdtp_signaling_emit_content_protection_capability(uint16_t avdtp_cid, uint8_t remote_seid, adtvp_content_protection_t *content_protection) { + uint8_t event[21]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; little_endian_store_16(event, pos, content_protection->cp_type); @@ -715,16 +706,14 @@ avdtp_signaling_emit_content_protection_capability(uint16_t avdtp_cid, uint8_t l static void -avdtp_signaling_emit_header_compression_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - avdtp_header_compression_capabilities_t *header_compression) { - uint8_t event[10]; +avdtp_signaling_emit_header_compression_capability(uint16_t avdtp_cid, uint8_t remote_seid, avdtp_header_compression_capabilities_t *header_compression) { + uint8_t event[9]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; event[pos++] = header_compression->back_ch; event[pos++] = header_compression->media; @@ -733,16 +722,14 @@ avdtp_signaling_emit_header_compression_capability(uint16_t avdtp_cid, uint8_t l } static void -avdtp_signaling_emit_content_multiplexing_capability(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, - avdtp_multiplexing_mode_capabilities_t *multiplexing_mode) { - uint8_t event[15]; +avdtp_signaling_emit_content_multiplexing_capability(uint16_t avdtp_cid, uint8_t remote_seid, avdtp_multiplexing_mode_capabilities_t *multiplexing_mode) { + uint8_t event[14]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; event[pos++] = multiplexing_mode->fragmentation; @@ -758,58 +745,57 @@ avdtp_signaling_emit_content_multiplexing_capability(uint16_t avdtp_cid, uint8_t avdtp_emit_sink_and_source(event, pos); } -static void avdtp_signaling_emit_capability_done(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid) { - uint8_t event[7]; +static void avdtp_signaling_emit_capability_done(uint16_t avdtp_cid, uint8_t remote_seid) { + uint8_t event[6]; int pos = 0; event[pos++] = HCI_EVENT_AVDTP_META; event[pos++] = sizeof(event) - 2; event[pos++] = AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE; little_endian_store_16(event, pos, avdtp_cid); pos += 2; - event[pos++] = local_seid; event[pos++] = remote_seid; avdtp_emit_sink_and_source(event, pos); } // emit events for all capabilities incl. final done event -void avdtp_signaling_emit_capabilities(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, avdtp_capabilities_t *capabilities, - uint16_t registered_service_categories) { +void avdtp_signaling_emit_capabilities(uint16_t avdtp_cid, uint8_t remote_seid, avdtp_capabilities_t *capabilities, + uint16_t registered_service_categories) { if (get_bit16(registered_service_categories, AVDTP_MEDIA_CODEC)){ switch (capabilities->media_codec.media_codec_type){ case AVDTP_CODEC_SBC: - avdtp_signaling_emit_media_codec_sbc_capability(avdtp_cid, local_seid, remote_seid, capabilities->media_codec); + avdtp_signaling_emit_media_codec_sbc_capability(avdtp_cid, remote_seid, capabilities->media_codec); break; default: - avdtp_signaling_emit_media_codec_other_capability(avdtp_cid, local_seid, remote_seid, capabilities->media_codec); + avdtp_signaling_emit_media_codec_other_capability(avdtp_cid, remote_seid, capabilities->media_codec); break; } } if (get_bit16(registered_service_categories, AVDTP_MEDIA_TRANSPORT)){ - avdtp_signaling_emit_media_transport_capability(avdtp_cid, local_seid, remote_seid); + avdtp_signaling_emit_media_transport_capability(avdtp_cid, remote_seid); } if (get_bit16(registered_service_categories, AVDTP_REPORTING)){ - avdtp_signaling_emit_reporting_capability(avdtp_cid, local_seid, remote_seid); + avdtp_signaling_emit_reporting_capability(avdtp_cid, remote_seid); } if (get_bit16(registered_service_categories, AVDTP_RECOVERY)){ - avdtp_signaling_emit_recovery_capability(avdtp_cid, local_seid, remote_seid, &capabilities->recovery); + avdtp_signaling_emit_recovery_capability(avdtp_cid, remote_seid, &capabilities->recovery); } if (get_bit16(registered_service_categories, AVDTP_CONTENT_PROTECTION)){ - avdtp_signaling_emit_content_protection_capability(avdtp_cid, local_seid, remote_seid, - &capabilities->content_protection); + avdtp_signaling_emit_content_protection_capability(avdtp_cid, remote_seid, + &capabilities->content_protection); } if (get_bit16(registered_service_categories, AVDTP_HEADER_COMPRESSION)){ - avdtp_signaling_emit_header_compression_capability(avdtp_cid, local_seid, remote_seid, - &capabilities->header_compression); + avdtp_signaling_emit_header_compression_capability(avdtp_cid, remote_seid, + &capabilities->header_compression); } if (get_bit16(registered_service_categories, AVDTP_MULTIPLEXING)){ - avdtp_signaling_emit_content_multiplexing_capability(avdtp_cid, local_seid, remote_seid, - &capabilities->multiplexing_mode); + avdtp_signaling_emit_content_multiplexing_capability(avdtp_cid, remote_seid, + &capabilities->multiplexing_mode); } if (get_bit16(registered_service_categories, AVDTP_DELAY_REPORTING)){ - avdtp_signaling_emit_delay_reporting_capability(avdtp_cid, local_seid, remote_seid); + avdtp_signaling_emit_delay_reporting_capability(avdtp_cid, remote_seid); } - avdtp_signaling_emit_capability_done(avdtp_cid, local_seid, remote_seid); + avdtp_signaling_emit_capability_done(avdtp_cid, remote_seid); } static void avdtp_signaling_emit_media_codec_sbc(avdtp_stream_endpoint_t *stream_endpoint, uint16_t avdtp_cid, diff --git a/src/classic/avdtp_util.h b/src/classic/avdtp_util.h index 397753198..08ef3a8b6 100644 --- a/src/classic/avdtp_util.h +++ b/src/classic/avdtp_util.h @@ -87,8 +87,8 @@ void avdtp_signaling_emit_general_reject(uint16_t avdtp_cid, uint8_t local_seid, void avdtp_signaling_emit_reject(uint16_t avdtp_cid, uint8_t local_seid, avdtp_signal_identifier_t identifier, bool is_initiator); -void avdtp_signaling_emit_capabilities(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, avdtp_capabilities_t *capabilities, - uint16_t registered_service_categories); +void avdtp_signaling_emit_capabilities(uint16_t avdtp_cid, uint8_t remote_seid, avdtp_capabilities_t *capabilities, + uint16_t registered_service_categories); void avdtp_signaling_emit_delay(uint16_t avdtp_cid, uint8_t local_seid, uint16_t delay);