LeAudio/multicodec: Fix the async data path getter API am: 4856308c50 am: c5dc2882df am: 94c963cb45

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2897465

Change-Id: Ie6ba11dbca29db09dd464f23ceba898d69d281ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jakub Tyszkowski 2024-01-05 20:44:03 +00:00 committed by Automerger Merge Worker
commit 891cd18d5e
4 changed files with 43 additions and 11 deletions

View file

@ -45,7 +45,7 @@ interface IBluetoothAudioProvider {
void setCodecPriority(in android.hardware.bluetooth.audio.CodecId codecId, int priority);
List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseConfigurationSetting> getLeAudioAseConfiguration(in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSinkAudioCapabilities, in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSourceAudioCapabilities, in List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioConfigurationRequirement> requirements);
android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationPair getLeAudioAseQosConfiguration(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationRequirement qosRequirement);
android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(in android.hardware.bluetooth.audio.AudioContext context, in android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap);
android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sinkConfig, in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sourceConfig);
void onSinkAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata);
void onSourceAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata);
android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationSetting getLeAudioBroadcastConfiguration(in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSinkAudioCapabilities, in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationRequirement requirement);
@ -146,6 +146,10 @@ interface IBluetoothAudioProvider {
@nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration inputConfig;
@nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration outputConfig;
}
parcelable StreamConfig {
android.hardware.bluetooth.audio.AudioContext context;
android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap;
}
@Backing(type="byte") @VintfStability
enum AseState {
ENABLING = 0x00,

View file

@ -518,15 +518,38 @@ interface IBluetoothAudioProvider {
@nullable LeAudioDataPathConfiguration outputConfig;
}
/**
* Stream Configuration
*/
parcelable StreamConfig {
/**
* Streaming Audio Context.
* This can serve as a hint for selecting the proper configuration by
* the offloader.
*/
AudioContext context;
/**
* Stream configuration, including connection handles and audio channel
* allocations.
*/
StreamMap[] streamMap;
}
/**
* Used to get a data path configuration which dynamically depends on CIS
* connection handles in StreamMap. This is used if non-dynamic data path
* was not provided in LeAudioAseConfigurationSetting. Calling this during
* the unicast audio stream establishment might slightly delay the stream
* start.
*
* @param sinkConfig - remote sink device stream configuration
* @param sourceConfig - remote source device stream configuration
*
* @return LeAudioDataPathConfigurationPair
*/
LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(
in AudioContext context, in StreamMap[] streamMap);
in @nullable StreamConfig sinkConfig,
in @nullable StreamConfig sourceConfig);
/*
* Audio Stream Endpoint state used to report Metadata changes on the remote

View file

@ -229,14 +229,17 @@ ndk::ScopedAStatus BluetoothAudioProvider::getLeAudioAseQosConfiguration(
};
ndk::ScopedAStatus BluetoothAudioProvider::getLeAudioAseDatapathConfiguration(
const ::aidl::android::hardware::bluetooth::audio::AudioContext& in_context,
const std::vector<::aidl::android::hardware::bluetooth::audio::
LeAudioConfiguration::StreamMap>& in_streamMap,
const std::optional<::aidl::android::hardware::bluetooth::audio::
IBluetoothAudioProvider::StreamConfig>&
in_sinkConfig,
const std::optional<::aidl::android::hardware::bluetooth::audio::
IBluetoothAudioProvider::StreamConfig>&
in_sourceConfig,
::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
LeAudioDataPathConfigurationPair* _aidl_return) {
/* TODO: Implement */
(void)in_context;
(void)in_streamMap;
(void)in_sinkConfig;
(void)in_sourceConfig;
(void)_aidl_return;
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}

View file

@ -71,10 +71,12 @@ class BluetoothAudioProvider : public BnBluetoothAudioProvider {
::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
LeAudioAseQosConfigurationPair* _aidl_return) override;
ndk::ScopedAStatus getLeAudioAseDatapathConfiguration(
const ::aidl::android::hardware::bluetooth::audio::AudioContext&
in_context,
const std::vector<::aidl::android::hardware::bluetooth::audio::
LeAudioConfiguration::StreamMap>& in_streamMap,
const std::optional<::aidl::android::hardware::bluetooth::audio::
IBluetoothAudioProvider::StreamConfig>&
in_sinkConfig,
const std::optional<::aidl::android::hardware::bluetooth::audio::
IBluetoothAudioProvider::StreamConfig>&
in_sourceConfig,
::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
LeAudioDataPathConfigurationPair* _aidl_return) override;
ndk::ScopedAStatus onSinkAseMetadataChanged(