b5f2d23e26
Patch introduces LE Audio software encoding provider for bluetooth audio 2.1. Bug: 150670922 Tag: #feature Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest Sponsor: jpawlowski@ Change-Id: If668593be7a46c9abcc45d21c5bdb9b493864cc1
62 lines
2.7 KiB
Text
62 lines
2.7 KiB
Text
/*
|
|
* Copyright 2020 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.1;
|
|
|
|
import @2.0::IBluetoothAudioProvider;
|
|
import @2.0::IBluetoothAudioPort;
|
|
import @2.0::Status;
|
|
|
|
/**
|
|
* HAL interface from the Bluetooth stack to the Audio HAL
|
|
*
|
|
* The Bluetooth stack calls methods in this interface to start and end audio
|
|
* sessions and sends callback events to the Audio HAL.
|
|
*
|
|
* 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 IBluetoothAudioProvider extends @2.0::IBluetoothAudioProvider {
|
|
|
|
/**
|
|
* This method indicates that the Bluetooth stack is ready to stream audio.
|
|
* It registers an instance of IBluetoothAudioPort with and provides the
|
|
* current negotiated codec to the Audio HAL. After this method is called,
|
|
* the Audio HAL can invoke IBluetoothAudioPort.startStream().
|
|
*
|
|
* Note: endSession() must be called to unregister this IBluetoothAudioPort
|
|
*
|
|
* @param hostIf An instance of IBluetoothAudioPort for stream control
|
|
* @param audioConfig The audio configuration negotiated with the remote
|
|
* device. The PCM parameters are set if software based encoding,
|
|
* otherwise the correct codec configuration is used for hardware
|
|
* encoding.
|
|
*
|
|
* @return status One of the following
|
|
* SUCCESS if this IBluetoothAudioPort was successfully registered with
|
|
* the Audio HAL
|
|
* UNSUPPORTED_CODEC_CONFIGURATION if the Audio HAL cannot register this
|
|
* IBluetoothAudioPort with the given codec configuration
|
|
* FAILURE if the Audio HAL cannot register this IBluetoothAudioPort for
|
|
* any other reason
|
|
* @return dataMQ The fast message queue for audio data from/to this
|
|
* provider. Audio data will be in PCM format as specified by the
|
|
* audioConfig.pcmConfig parameter. Invalid if streaming is offloaded
|
|
* from/to hardware or on failure.
|
|
*/
|
|
startSession_2_1(IBluetoothAudioPort hostIf, AudioConfiguration audioConfig)
|
|
generates (Status status, fmq_sync<uint8_t> dataMQ);
|
|
};
|