avrcp_controller: use bool press_and_hold_cmd field

This commit is contained in:
Matthias Ringwald 2021-03-19 16:40:07 +01:00
parent 48e6eeee0f
commit 0c436f0b86
2 changed files with 9 additions and 9 deletions

View File

@ -494,7 +494,7 @@ typedef struct {
btstack_timer_source_t retry_timer;
btstack_timer_source_t press_and_hold_cmd_timer;
uint8_t continuous_fast_forward_cmd;
bool press_and_hold_cmd;
uint16_t notifications_enabled;
uint16_t notifications_to_register;
uint16_t notifications_to_deregister;

View File

@ -539,14 +539,14 @@ static void avrcp_press_and_hold_timer_start(avrcp_connection_t * connection){
}
static void avrcp_press_and_hold_timer_stop(avrcp_connection_t * connection){
connection->continuous_fast_forward_cmd = 0;
connection->press_and_hold_cmd = 0;
btstack_run_loop_remove_timer(&connection->press_and_hold_cmd_timer);
}
static uint8_t avrcp_controller_request_pass_through_release_control_cmd(avrcp_connection_t * connection){
connection->state = AVCTP_W2_SEND_RELEASE_COMMAND;
if (connection->continuous_fast_forward_cmd){
if (connection->press_and_hold_cmd){
avrcp_press_and_hold_timer_stop(connection);
}
connection->cmd_operands[0] = 0x80 | connection->cmd_operands[0];
@ -555,7 +555,7 @@ static uint8_t avrcp_controller_request_pass_through_release_control_cmd(avrcp_c
return ERROR_CODE_SUCCESS;
}
static inline uint8_t avrcp_controller_request_pass_through_press_control_cmd(uint16_t avrcp_cid, avrcp_operation_id_t opid, uint16_t playback_speed, uint8_t continuous_fast_forward_cmd){
static inline uint8_t avrcp_controller_request_pass_through_press_control_cmd(uint16_t avrcp_cid, avrcp_operation_id_t opid, uint16_t playback_speed, bool continuous_fast_forward_cmd){
log_info("Send command %d", opid);
avrcp_connection_t * connection = avrcp_get_connection_for_avrcp_cid_for_role(AVRCP_CONTROLLER, avrcp_cid);
if (!connection){
@ -574,7 +574,7 @@ static inline uint8_t avrcp_controller_request_pass_through_press_control_cmd(ui
connection->subunit_id = AVRCP_SUBUNIT_ID;
connection->cmd_operands_length = 0;
connection->continuous_fast_forward_cmd = continuous_fast_forward_cmd;
connection->press_and_hold_cmd = continuous_fast_forward_cmd;
connection->cmd_operands_length = 2;
connection->cmd_operands[0] = opid;
if (playback_speed > 0){
@ -583,7 +583,7 @@ static inline uint8_t avrcp_controller_request_pass_through_press_control_cmd(ui
}
connection->cmd_operands[1] = connection->cmd_operands_length - 2;
if (connection->continuous_fast_forward_cmd){
if (connection->press_and_hold_cmd){
avrcp_press_and_hold_timer_start(connection);
}
@ -593,11 +593,11 @@ static inline uint8_t avrcp_controller_request_pass_through_press_control_cmd(ui
}
static uint8_t request_single_pass_through_press_control_cmd(uint16_t avrcp_cid, avrcp_operation_id_t opid, uint16_t playback_speed){
return avrcp_controller_request_pass_through_press_control_cmd(avrcp_cid, opid, playback_speed, 0);
return avrcp_controller_request_pass_through_press_control_cmd(avrcp_cid, opid, playback_speed, false);
}
static uint8_t request_continuous_pass_through_press_control_cmd(uint16_t avrcp_cid, avrcp_operation_id_t opid, uint16_t playback_speed){
return avrcp_controller_request_pass_through_press_control_cmd(avrcp_cid, opid, playback_speed, 1);
return avrcp_controller_request_pass_through_press_control_cmd(avrcp_cid, opid, playback_speed, true);
}
static int avrcp_controller_register_notification(avrcp_connection_t * connection, avrcp_notification_event_id_t event_id){
@ -969,7 +969,7 @@ static void avrcp_handle_l2cap_data_packet_for_signaling_connection(avrcp_connec
uint8_t operation_id = packet[pos++];
switch (connection->state){
case AVCTP_W2_RECEIVE_PRESS_RESPONSE:
if (connection->continuous_fast_forward_cmd){
if (connection->press_and_hold_cmd){
connection->state = AVCTP_W4_STOP;
} else {
connection->state = AVCTP_W2_SEND_RELEASE_COMMAND;