avdtp: remove local_seid from capabilities events

This commit is contained in:
Matthias Ringwald 2020-10-09 11:53:16 +02:00
parent 1c8795f6af
commit 1159d23955
5 changed files with 93 additions and 207 deletions

View File

@ -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

View File

@ -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];
}
/**

View File

@ -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:

View File

@ -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,

View File

@ -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);