diff --git a/CHANGELOG.md b/CHANGELOG.md index 46c36c32f..1cf1b0b43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ GATT Client: Scan Parameters Service Client GAP: add `gap_set_page_scan_activity` and `gap_set_page_scan_type` AVRCP: new field `button_pressed` in `AVRCP_SUBEVENT_OPERATION` AVRCP: `AVRCP_SUBEVENT_OPERATION` emitted for button release +AVRCP Controller: avrcp_controller_start_press_and_hold_cmd helps to support device buttons ### Fixed HCI: handle start inquiry failure diff --git a/src/classic/avrcp_controller.c b/src/classic/avrcp_controller.c index e4ee5ebe8..a4223b410 100644 --- a/src/classic/avrcp_controller.c +++ b/src/classic/avrcp_controller.c @@ -1135,6 +1135,10 @@ uint8_t avrcp_controller_rewind(uint16_t avrcp_cid){ /* start continuous cmds */ +uint8_t avrcp_controller_start_press_and_hold_cmd(uint16_t avrcp_cid, avrcp_operation_id_t operation_id){ + return request_continuous_pass_through_press_control_cmd(avrcp_cid, operation_id, 0); +} + uint8_t avrcp_controller_press_and_hold_play(uint16_t avrcp_cid){ return request_continuous_pass_through_press_control_cmd(avrcp_cid, AVRCP_OPERATION_ID_PLAY, 0); } diff --git a/src/classic/avrcp_controller.h b/src/classic/avrcp_controller.h index 93720b9ac..15b3b35cd 100644 --- a/src/classic/avrcp_controller.h +++ b/src/classic/avrcp_controller.h @@ -125,6 +125,12 @@ uint8_t avrcp_controller_get_supported_company_ids(uint16_t avrcp_cid); uint8_t avrcp_controller_get_supported_events(uint16_t avrcp_cid); +/** + * @brief Start continuous cmd (play, pause, volume up, ...). Event AVRCP_SUBEVENT_OPERATION_COMPLETE returns operation id and status. + * @param avrcp_cid + * @returns status + */ +uint8_t avrcp_controller_start_press_and_hold_cmd(uint16_t avrcp_cid, avrcp_operation_id_t operation_id); /** * @brief Stops continuous cmd (play, pause, volume up, ...). Event AVRCP_SUBEVENT_OPERATION_COMPLETE returns operation id and status.