From 98d7e083bd737d6b77a8ce215f78281662881aca Mon Sep 17 00:00:00 2001 From: Josh Wu Date: Fri, 21 Jan 2022 03:04:21 -0800 Subject: [PATCH] BtAudio: Fix default implementation typos Bug: 203490261 Test: m android.hardware.bluetooth.audio-V1-impl Change-Id: I80f39d844ec5bb44830341f310143b3626593d79 --- .../aidl/default/A2dpSoftwareAudioProvider.cpp | 3 ++- .../default/BluetoothAudioProviderFactory.cpp | 2 +- .../aidl/default/BluetoothAudioProviderFactory.h | 7 ------- .../aidl/default/HearingAidAudioProvider.cpp | 2 +- .../aidl/default/LeAudioOffloadAudioProvider.cpp | 2 +- .../aidl/default/LeAudioSoftwareAudioProvider.cpp | 15 +++++++++++++-- .../utils/aidl_session/BluetoothAudioSession.cpp | 5 ----- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp index 7e4907409e..5a413e07a8 100644 --- a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp @@ -88,8 +88,9 @@ ndk::ScopedAStatus A2dpSoftwareAudioProvider::onSessionReady( return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } *_aidl_return = data_mq_->dupeDesc(); + auto desc = data_mq_->dupeDesc(); BluetoothAudioSessionReport::OnSessionStarted(session_type_, stack_iface_, - _aidl_return, *audio_config_); + &desc, *audio_config_); return ndk::ScopedAStatus::ok(); } diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp index 8e6cee7b2f..1e55a0bf7c 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp +++ b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "BTAudioProvidersFactory" +#define LOG_TAG "BTAudioProviderFactoryAIDL" #include "BluetoothAudioProviderFactory.h" diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.h b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.h index 96d888c166..b38cfd2520 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.h +++ b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.h @@ -18,13 +18,6 @@ #include -#include "A2dpOffloadAudioProvider.h" -#include "A2dpSoftwareAudioProvider.h" -#include "BluetoothAudioProvider.h" -#include "HearingAidAudioProvider.h" -#include "LeAudioOffloadAudioProvider.h" -#include "LeAudioSoftwareAudioProvider.h" - namespace aidl { namespace android { namespace hardware { diff --git a/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp b/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp index a993059b65..66ce93bd35 100644 --- a/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp @@ -81,10 +81,10 @@ ndk::ScopedAStatus HearingAidAudioProvider::onSessionReady( *_aidl_return = DataMQDesc(); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } + *_aidl_return = data_mq_->dupeDesc(); auto desc = data_mq_->dupeDesc(); BluetoothAudioSessionReport::OnSessionStarted(session_type_, stack_iface_, &desc, *audio_config_); - *_aidl_return = data_mq_->dupeDesc(); return ndk::ScopedAStatus::ok(); } diff --git a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp index 4078783c99..72ac9bdede 100644 --- a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "BTAudioProviderLeAudioSW" +#define LOG_TAG "BTAudioProviderLeAudioHW" #include "LeAudioOffloadAudioProvider.h" diff --git a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp index f9962fd9d9..67b7d60c0c 100644 --- a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "BTAudioProviderLeAudioHW" +#define LOG_TAG "BTAudioProviderLeAudioSW" #include "LeAudioSoftwareAudioProvider.h" @@ -88,6 +88,16 @@ ndk::ScopedAStatus LeAudioSoftwareAudioProvider::startSession( channel_mode_to_channel_count(pcm_config.channelMode) * (pcm_config.bitsPerSample / 8) * (pcm_config.dataIntervalUs / 1000) * buffer_modifier; + if (data_mq_size <= 0) { + LOG(ERROR) << __func__ << "Unexpected audio buffer size: " << data_mq_size + << ", SampleRateHz: " << pcm_config.sampleRateHz + << ", ChannelMode: " << toString(pcm_config.channelMode) + << ", BitsPerSample: " + << static_cast(pcm_config.bitsPerSample) + << ", DataIntervalUs: " << pcm_config.dataIntervalUs + << ", SessionType: " << toString(session_type_); + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); + } LOG(INFO) << __func__ << " - size of audio buffer " << data_mq_size << " byte(s)"; @@ -113,8 +123,9 @@ ndk::ScopedAStatus LeAudioSoftwareAudioProvider::onSessionReady( return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } *_aidl_return = data_mq_->dupeDesc(); + auto desc = data_mq_->dupeDesc(); BluetoothAudioSessionReport::OnSessionStarted(session_type_, stack_iface_, - _aidl_return, *audio_config_); + &desc, *audio_config_); return ndk::ScopedAStatus::ok(); } diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp index 95e473e5b9..8052b01a40 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp @@ -114,11 +114,6 @@ void BluetoothAudioSession::OnSessionEnded() { const AudioConfiguration& BluetoothAudioSession::GetAudioConfig() { std::lock_guard guard(mutex_); if (!IsSessionReady()) { - if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { - return invalidOffloadAudioConfiguration; - } else { - return invalidSoftwareAudioConfiguration; - } switch (session_type_) { case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: return invalidOffloadAudioConfiguration;