From 5e721b6b4a2d9883f7d805d075b4218d7dc43849 Mon Sep 17 00:00:00 2001 From: Alice Kuo <aliceypkuo@google.com> Date: Tue, 27 Feb 2024 13:34:42 +0800 Subject: [PATCH] Add back the aidl trasnport handle for Sink::CancelStreamingRequest Bug: 326868963 Bug: 322106376 Bug: 325181889 Test: mmm packages/modules/Bluetooth Test: media and phone call handover Change-Id: I05ba63ec13e04a30d29cb0a534ffc80f6e453df0 --- .../audio_hal_interface/le_audio_software.cc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/system/audio_hal_interface/le_audio_software.cc b/system/audio_hal_interface/le_audio_software.cc index 25120c7e709..5793b444fbe 100644 --- a/system/audio_hal_interface/le_audio_software.cc +++ b/system/audio_hal_interface/le_audio_software.cc @@ -325,6 +325,28 @@ void LeAudioClientInterface::Sink::CancelStreamingRequest() { break; } } + + auto aidl_instance = get_aidl_transport_instance(is_broadcaster_); + auto start_request_state = aidl_instance->GetStartRequestState(); + switch (start_request_state) { + case StartRequestState::IDLE: + LOG_WARN(", no pending start stream request"); + return; + case StartRequestState::PENDING_BEFORE_RESUME: + LOG_INFO("Response before sending PENDING to audio HAL"); + aidl_instance->SetStartRequestState(StartRequestState::CANCELED); + return; + case StartRequestState::PENDING_AFTER_RESUME: + LOG_INFO("Response after sending PENDING to audio HAL"); + aidl_instance->ClearStartRequestState(); + get_aidl_client_interface(is_broadcaster_) + ->StreamStarted(aidl::BluetoothAudioCtrlAck::FAILURE); + return; + case StartRequestState::CONFIRMED: + case StartRequestState::CANCELED: + LOG_ERROR("Invalid state, start stream already confirmed"); + break; + } } void LeAudioClientInterface::Sink::CancelStreamingRequestV2() { -- GitLab