784e443350
1. Add function getProviderCapabilities_2_2 to return audio capability 2. Add function GetLeAudioOffloadCodecCapabilities to get le audio offload capability 3. Add LeAudioCapability in HAL 2.2 Tag: #feature Bug: 203535499 Bug: 150670922 Test: atest BluetoothInstrumentationTests Change-Id: Ied2d0c8c0bdaa4b8d0c149b5164ba346e4df5ae1
73 lines
2.9 KiB
Text
73 lines
2.9 KiB
Text
/*
|
|
* Copyright 2021 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package android.hardware.bluetooth.audio@2.2;
|
|
|
|
import IBluetoothAudioProvider;
|
|
import @2.1::IBluetoothAudioProvidersFactory;
|
|
import @2.0::Status;
|
|
import @2.1::SessionType;
|
|
|
|
/**
|
|
* This factory allows a HAL implementation to be split into multiple
|
|
* independent providers.
|
|
*
|
|
* When the Bluetooth stack is ready to create an audio session, it must first
|
|
* obtain the IBluetoothAudioProvider for that session type by calling
|
|
* openProvider().
|
|
*
|
|
* Note: For HIDL APIs with a "generates" statement, the callback parameter used
|
|
* for return value must be invoked synchronously before the API call returns.
|
|
*/
|
|
interface IBluetoothAudioProvidersFactory extends @2.1::IBluetoothAudioProvidersFactory {
|
|
/**
|
|
* Opens an audio provider for a session type. To close the provider, it is
|
|
* necessary to release references to the returned provider object.
|
|
*
|
|
* @param sessionType The session type (e.g.
|
|
* LE_AUDIO_SOFTWARE_ENCODING_DATAPATH).
|
|
*
|
|
* @return status One of the following
|
|
* SUCCESS if the Audio HAL successfully opens the provider with the
|
|
* given session type
|
|
* FAILURE if the Audio HAL cannot open the provider
|
|
* @return provider The provider of the specified session type
|
|
*/
|
|
openProvider_2_2(SessionType sessionType)
|
|
generates (Status status, IBluetoothAudioProvider provider);
|
|
|
|
/**
|
|
* Gets a list of audio capabilities for a session type.
|
|
*
|
|
* For software encoding, the PCM capabilities are returned.
|
|
* For hardware encoding, the supported codecs and their capabilities are
|
|
* returned.
|
|
*
|
|
* @param sessionType The session type (e.g.
|
|
* A2DP_SOFTWARE_ENCODING_DATAPATH).
|
|
* @return audioCapabilities A list containing all the capabilities
|
|
* supported by the sesson type. The capabilities is a list of
|
|
* available options when configuring the codec for the session.
|
|
* For software encoding it is the PCM data rate.
|
|
* For hardware encoding it is the list of supported codecs and their
|
|
* capabilities.
|
|
* If a provider isn't supported, an empty list should be returned.
|
|
* Note: Only one entry should exist per codec when using hardware
|
|
* encoding.
|
|
*/
|
|
getProviderCapabilities_2_2(SessionType sessionType)
|
|
generates (vec<AudioCapabilities> audioCapabilities);
|
|
};
|