avrcp_target: fix attr ID iteration

This commit is contained in:
Milanka Ringwald 2021-11-22 11:25:33 +01:00
parent ccfcd81e62
commit 92ae15ea32
2 changed files with 4 additions and 3 deletions

View File

@ -110,7 +110,7 @@ static void avrcp_controller_pass_through_command_data_init(avrcp_connection_t *
connection->subunit_id = AVRCP_SUBUNIT_ID;
connection->company_id = 0;
connection->pdu_id = 0;
connection->pdu_id = AVRCP_PDU_ID_UNDEFINED;
connection->operation_id = opid;
connection->data = connection->cmd_operands;
@ -1422,7 +1422,7 @@ uint8_t avrcp_controller_unit_info(uint16_t avrcp_cid){
if (connection->state != AVCTP_CONNECTION_OPENED) return ERROR_CODE_COMMAND_DISALLOWED;
connection->state = AVCTP_W2_SEND_COMMAND;
avrcp_controller_custome_command_data_init(connection, AVRCP_CMD_OPCODE_UNIT_INFO, AVRCP_CTYPE_STATUS, AVRCP_SUBUNIT_TYPE_UNIT, AVRCP_SUBUNIT_ID_IGNORE, 0, 0);
avrcp_controller_custome_command_data_init(connection, AVRCP_CMD_OPCODE_UNIT_INFO, AVRCP_CTYPE_STATUS, AVRCP_SUBUNIT_TYPE_UNIT, AVRCP_SUBUNIT_ID_IGNORE, AVRCP_PDU_ID_UNDEFINED, 0);
memset(connection->data, 0xFF, 5);
connection->data_len = 5;
@ -1438,7 +1438,7 @@ uint8_t avrcp_controller_subunit_info(uint16_t avrcp_cid){
if (connection->state != AVCTP_CONNECTION_OPENED) return ERROR_CODE_COMMAND_DISALLOWED;
connection->state = AVCTP_W2_SEND_COMMAND;
avrcp_controller_custome_command_data_init(connection, AVRCP_CMD_OPCODE_SUBUNIT_INFO, AVRCP_CTYPE_STATUS, AVRCP_SUBUNIT_TYPE_UNIT, AVRCP_SUBUNIT_ID_IGNORE, 0, 0);
avrcp_controller_custome_command_data_init(connection, AVRCP_CMD_OPCODE_SUBUNIT_INFO, AVRCP_CTYPE_STATUS, AVRCP_SUBUNIT_TYPE_UNIT, AVRCP_SUBUNIT_ID_IGNORE, AVRCP_PDU_ID_UNDEFINED, 0);
memset(connection->data, 0xFF, 5);
connection->data[0] = 7; // page: 0, extention_code: 7

View File

@ -216,6 +216,7 @@ static uint16_t avrcp_store_avctp_now_playing_info_fragment(avrcp_connection_t *
while ((num_free_bytes > 0) && (connection->next_attr_id <= AVRCP_MEDIA_ATTR_SONG_LENGTH_MS)){
if ((connection->now_playing_info_attr_bitmap & (1 << (uint8_t)connection->next_attr_id)) == 0) {
connection->next_attr_id = (avrcp_media_attribute_id_t) (((int) connection->next_attr_id) + 1);
continue;
}