Parse audio config codec capability for LE devices
1. Rename function getHwOffloadEncodingFormatsSupportedForA2DP to
getHwOffloadFormatsSupportedForBluetoothMedia
2. Add one parameter for function
getHwOffloadFormatsSupportedForBluetoothMedia to get the
supported codec for A2DP encode/decode or LE audio encode/decode
3. Add function getAudioDeviceOutAllBleSet() to get the audio device
set for BLE
Tag: #feature
Bug: 203535499
Test: atest BluetoothInstrumentationTests
Change-Id: I9de90c7f61db1f5de848ac66cfc8bd99d27d6cfb
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index edad6d1..07ef246 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -1972,8 +1972,8 @@
return result.value_or(false);
}
-status_t AudioSystem::getHwOffloadEncodingFormatsSupportedForA2DP(
- std::vector<audio_format_t>* formats) {
+status_t AudioSystem::getHwOffloadFormatsSupportedForBluetoothMedia(
+ audio_devices_t device, std::vector<audio_format_t>* formats) {
if (formats == nullptr) {
return BAD_VALUE;
}
@@ -1983,8 +1983,10 @@
if (aps == 0) return PERMISSION_DENIED;
std::vector<AudioFormatDescription> formatsAidl;
+ AudioDeviceDescription deviceAidl = VALUE_OR_RETURN_STATUS(
+ legacy2aidl_audio_devices_t_AudioDeviceDescription(device));
RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(
- aps->getHwOffloadEncodingFormatsSupportedForA2DP(&formatsAidl)));
+ aps->getHwOffloadFormatsSupportedForBluetoothMedia(deviceAidl, &formatsAidl)));
*formats = VALUE_OR_RETURN_STATUS(
convertContainer<std::vector<audio_format_t>>(
formatsAidl,
diff --git a/media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl b/media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl
index c59655d..8e9ff86 100644
--- a/media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl
+++ b/media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl
@@ -295,7 +295,8 @@
void getReportedSurroundFormats(inout Int count,
out AudioFormatDescription[] formats);
- AudioFormatDescription[] getHwOffloadEncodingFormatsSupportedForA2DP();
+ AudioFormatDescription[] getHwOffloadFormatsSupportedForBluetoothMedia(
+ in AudioDeviceDescription device);
void setSurroundFormatEnabled(in AudioFormatDescription audioFormat, boolean enabled);
diff --git a/media/libaudioclient/include/media/AudioSystem.h b/media/libaudioclient/include/media/AudioSystem.h
index 45ee8bd..193e7f7 100644
--- a/media/libaudioclient/include/media/AudioSystem.h
+++ b/media/libaudioclient/include/media/AudioSystem.h
@@ -424,8 +424,8 @@
static status_t getMicrophones(std::vector<media::MicrophoneInfo> *microphones);
- static status_t getHwOffloadEncodingFormatsSupportedForA2DP(
- std::vector<audio_format_t> *formats);
+ static status_t getHwOffloadFormatsSupportedForBluetoothMedia(
+ audio_devices_t device, std::vector<audio_format_t> *formats);
// numSurroundFormats holds the maximum number of formats and bool value allowed in the array.
// When numSurroundFormats is 0, surroundFormats and surroundFormatsEnabled will not be