From 3d73cc81a1cf646828cf9fca48da3e57d5b5acb3 Mon Sep 17 00:00:00 2001 From: Milanka Ringwald Date: Thu, 25 Nov 2021 11:31:24 +0100 Subject: [PATCH] avrcp: rename fields --- src/classic/avrcp.c | 2 +- src/classic/avrcp.h | 22 ++++++++++++---------- src/classic/avrcp_controller.c | 8 ++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/classic/avrcp.c b/src/classic/avrcp.c index aebe781ab..b22a6bd48 100644 --- a/src/classic/avrcp.c +++ b/src/classic/avrcp.c @@ -530,7 +530,7 @@ static avrcp_connection_t * avrcp_create_connection(avrcp_role_t role, bd_addr_t connection->transaction_id = 0xFF; connection->transaction_id_counter = 0; - connection->max_num_fragments = 0xFF; + connection->controller_max_num_fragments = 0xFF; // setup default unit / subunit info connection->company_id = 0xffffff; diff --git a/src/classic/avrcp.h b/src/classic/avrcp.h index 704052885..3e9a2fcd5 100644 --- a/src/classic/avrcp.h +++ b/src/classic/avrcp.h @@ -395,7 +395,6 @@ typedef enum { AVRCP_PARSER_IGNORE_REST_OF_ATTRIBUTE_VALUE } avrcp_parser_state_t; - typedef enum{ AVRCP_CONTROLLER = 0, AVRCP_TARGET @@ -561,17 +560,20 @@ typedef struct { uint16_t data_offset; avrcp_media_attribute_id_t next_attr_id; - avrcp_parser_state_t parser_state; - uint8_t parser_attribute_header[AVRCP_ATTRIBUTE_HEADER_LEN]; - uint8_t parser_attribute_header_pos; - uint16_t list_size; - uint16_t list_offset; + // used for parser in controller, and for fragmentation in target uint8_t attribute_value[AVRCP_MAX_ATTRIBUTE_SIZE]; uint16_t attribute_value_len; uint16_t attribute_value_offset; // controller only + // parser + avrcp_parser_state_t parser_state; + uint8_t parser_attribute_header[AVRCP_ATTRIBUTE_HEADER_LEN]; + uint8_t parser_attribute_header_pos; + uint16_t list_size; + uint16_t list_offset; + // limit number of pending commands to transaction id window size uint8_t controller_last_confirmed_transaction_id; @@ -585,8 +587,11 @@ typedef struct { uint16_t controller_notifications_to_register; uint16_t controller_notifications_to_deregister; - // target only + // PTS requires definition of max num fragments + uint8_t controller_max_num_fragments; + uint8_t controller_num_received_fragments; + // target only // PID check bool target_reject_transport_header; uint8_t target_invalid_pid; @@ -630,9 +635,6 @@ typedef struct { uint32_t target_total_tracks; uint32_t target_track_nr; - // PTS requires definition of max num fragments - uint8_t max_num_fragments; - uint8_t num_received_fragments; #ifdef ENABLE_AVCTP_FRAGMENTATION uint16_t avctp_reassembly_size; diff --git a/src/classic/avrcp_controller.c b/src/classic/avrcp_controller.c index cce85aefd..3967f01fa 100644 --- a/src/classic/avrcp_controller.c +++ b/src/classic/avrcp_controller.c @@ -446,7 +446,7 @@ static void avrcp_controller_emit_operation_status(btstack_packet_handler_t call static void avrcp_parser_reset(avrcp_connection_t * connection){ connection->list_offset = 0; connection->parser_attribute_header_pos = 0; - connection->num_received_fragments = 0; + connection->controller_num_received_fragments = 0; connection->parser_state = AVRCP_PARSER_GET_ATTRIBUTE_HEADER; } @@ -1123,9 +1123,9 @@ static void avrcp_handle_l2cap_data_packet_for_signaling_connection(avrcp_connec break; case AVRCP_CONTINUE_PACKET: case AVRCP_END_PACKET: - connection->num_received_fragments++; + connection->controller_num_received_fragments++; - if (connection->num_received_fragments < connection->max_num_fragments){ + if (connection->controller_num_received_fragments < connection->controller_max_num_fragments){ avrcp_controller_parse_and_emit_element_attrs(packet+pos, size-pos, connection, ctype); if (vendor_dependent_packet_type == AVRCP_CONTINUE_PACKET){ @@ -1719,7 +1719,7 @@ uint8_t avrcp_controller_set_max_num_fragments(uint16_t avrcp_cid, uint8_t max_n if (!connection){ return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER; } - connection->max_num_fragments = max_num_fragments; + connection->controller_max_num_fragments = max_num_fragments; return ERROR_CODE_SUCCESS; }