replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.bluetooth_audio@2.0",
root: "vendor.qti.hardware.bluetooth_audio",
system_ext_specific: true,
srcs: [
"types.hal",
"IBluetoothAudioPort.hal",
"IBluetoothAudioProvider.hal",
"IBluetoothAudioProvidersFactory.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
apex_available: [
"//apex_available:platform",
"com.android.btservices",
],
gen_java: false,
}

View File

@@ -0,0 +1,87 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.0;
/**
* HAL interface from the Audio HAL to the Bluetooth stack
*
* The Audio HAL calls methods in this interface to start, suspend, and stop
* an audio stream. These calls return immediately and the results, if any,
* are sent over the IBluetoothAudioProvider interface.
*
* Moreover, the Audio HAL can also get the presentation position of the stream
* and provide stream metadata.
*
* 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 IBluetoothAudioPort {
/**
* This indicates that the caller of this method has opened the data path
* and wants to start an audio stream. The caller must wait for a
* IBluetoothAudioProvider.streamStarted(Status) call.
*/
startStream();
/**
* This indicates that the caller of this method wants to suspend the audio
* stream. The caller must wait for the Bluetooth process to call
* IBluetoothAudioProvider.streamSuspended(Status). The caller still keeps
* the data path open.
*/
suspendStream();
/**
* This indicates that the caller of this method wants to stop the audio
* stream. The data path will be closed after this call. There is no
* callback from the IBluetoothAudioProvider interface even though the
* teardown is asynchronous.
*/
stopStream();
/**
* Get the audio presentation position.
*
* @return status the command status
* @return remoteDeviceAudioDelayNanos the audio delay from when the remote
* device (e.g. headset) receives audio data to when the device plays the
* sound. If the delay is unknown, the value is set to zero.
* @return transmittedOctets the number of audio data octets that were sent
* to a remote device. This excludes octets that have been written to the
* data path but have not been sent to the remote device. The count is
* not reset until stopStream() is called. If the software data path is
* unused (e.g. A2DP Hardware Offload), the value is set to 0.
* @return transmittedOctetsTimeStamp the value of CLOCK_MONOTONIC
* corresponding to transmittedOctets. If the software data path is
* unused (e.g., for A2DP Hardware Offload), the value is set to zero.
*/
getPresentationPosition() generates (Status status,
uint64_t remoteDeviceAudioDelayNanos, uint64_t transmittedOctets,
TimeSpec transmittedOctetsTimeStamp);
/**
* Called when Audio remorts Aptx Adaptive operating mode has changes
*
* @param aptxMode: Value of the current Aptx Adaptive Mode
*/
updateAptxMode(uint16_t aptxMode);
};

View File

@@ -0,0 +1,92 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.0;
import IBluetoothAudioPort;
/**
* 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 {
/**
* 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 this provider.
* Audio data will be in PCM format as specified by the
* audioConfig.pcmConfig parameter.
* Invalid if streaming is offloaded to hardware or on failure.
*/
startSession(IBluetoothAudioPort hostIf, AudioConfiguration audioConfig)
generates (Status status, fmq_sync<uint8_t> dataMQ);
/**
* Callback for IBluetoothAudioPort.startStream()
*
* @param status SUCCESS or FAILURE
*/
streamStarted(Status status);
/**
* Callback for IBluetoothAudioPort.suspendStream()
*
* @param status SUCCESS or FAILURE
*/
streamSuspended(Status status);
/**
* Call to update Sesion Parameters in runtime
*
*/
updateSessionParams(SessionParams sessionParams);
/**
* Ends the current session and unregisters the IBluetoothAudioPort
* interface.
*/
endSession();
};

View File

@@ -0,0 +1,76 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.0;
import IBluetoothAudioProvider;
/**
* 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 {
/**
* 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.
* A2DP_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(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(SessionType sessionType)
generates (vec<AudioCapabilities> audioCapabilities);
};

View File

@@ -0,0 +1,384 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.0;
/**
* The different audio parameter structs are used to provide a method to list
* all the Capabilities of a codec as well as to configure the codecs. All
* fields are bitfields unless specified. If used as a configuration, only one
* bit may be enabled. If used for Capabilities, enable all bits corresponding to
* supported features.
*/
/**
* POSIX timespec.
*/
struct TimeSpec {
uint64_t tvSec; // seconds
uint64_t tvNSec; // nanoseconds
};
enum Status : uint8_t {
SUCCESS = 0x00,
/** Codec configuration not supported by the audio platform */
UNSUPPORTED_CODEC_CONFIGURATION,
/** Any other failure */
FAILURE,
/* Pending response from Sink*/
SINK_NOT_READY,
/* Telephony Call in progress*/
CALL_IN_PROGRESS,
/* Short wait error */
SW_ERROR,
/* Long wait error */
LW_ERROR,
/* disconnection in progress */
FAILURE_DISC_IN_PROGRESS,
/* No wait failure */
FAILURE_NO_WAIT
};
enum SessionType : uint8_t {
UNKNOWN,
/** A2DP legacy that AVDTP media is encoded by Bluetooth Stack */
A2DP_SOFTWARE_ENCODING_DATAPATH,
/** The encoding of AVDTP media is done by HW and there is control only */
A2DP_HARDWARE_OFFLOAD_DATAPATH,
/** Used when encoded by Bluetooth Stack and streaming to Hearing Aid */
HEARING_AID_SOFTWARE_ENCODING_DATAPATH,
};
enum CodecType : uint32_t {
UNKNOWN = 0x00,
SBC = 0x01,
AAC = 0x02,
APTX = 0x04,
APTX_HD = 0x08,
LDAC = 0x10,
BA_CELT = 0x11,
APTX_ADAPTIVE = 0x12,
APTX_TWS = 0x14,
};
enum SampleRate : uint32_t {
RATE_UNKNOWN = 0x00,
RATE_44100 = 0x01,
RATE_48000 = 0x02,
RATE_88200 = 0x04,
RATE_96000 = 0x08,
RATE_176400 = 0x10,
RATE_192000 = 0x20,
RATE_16000 = 0x40,
RATE_24000 = 0x60,
RATE_32000 = 0x80,
};
enum BitsPerSample : uint8_t {
BITS_UNKNOWN = 0x00,
BITS_16 = 0x01,
BITS_24 = 0x02,
BITS_32 = 0x04,
};
enum ChannelMode : uint8_t {
UNKNOWN = 0x00,
MONO = 0x01,
STEREO = 0x02,
};
enum SbcChannelMode : uint8_t {
/** Channel Mode: 4 bits */
UNKNOWN = 0x00,
JOINT_STEREO = 0x01,
STEREO = 0x02,
DUAL = 0x04,
MONO = 0x08,
};
enum SbcBlockLength : uint8_t {
BLOCKS_4 = 0x80,
BLOCKS_8 = 0x40,
BLOCKS_12 = 0x20,
BLOCKS_16 = 0x10,
};
enum SbcNumSubbands : uint8_t {
SUBBAND_4 = 0x08,
SUBBAND_8 = 0x04,
};
enum SbcAllocMethod : uint8_t {
/** SNR */
ALLOC_MD_S = 0x02,
/** Loudness */
ALLOC_MD_L = 0x01,
};
enum AacObjectType : uint8_t {
/** MPEG-2 Low Complexity. Support is Mandatory. */
MPEG2_LC = 0x80,
/** MPEG-4 Low Complexity. Support is Optional. */
MPEG4_LC = 0x40,
/** MPEG-4 Long Term Prediction. Support is Optional. */
MPEG4_LTP = 0x20,
/** MPEG-4 Scalable. Support is Optional. */
MPEG4_SCALABLE = 0x10,
};
enum AacVariableBitRate : uint8_t {
ENABLED = 0x80,
DISABLED = 0x00,
};
enum AptxAdaptiveChannelMode : int32_t {
/** Channel Mode: 5 bits */
UNCHANGED = -1,
JOINT_STEREO = 0,
MONO = 1,
DUAL_MONO = 2,
TWS_STEREO = 4,
EARBUD = 8,
TWS_MONO = 10,
UNKNOWN = 0xFF,
};
enum AptxMode : uint32_t {
/** Aptx Adaptive Mode: 32 bits */
UNKNOWN = 0x00,
HQ = 0x1000,
LL = 0x2000,
ULL = 0x4000,
SCAN_CONTROL = 0x8000,
};
enum InputMode : uint32_t {
/** Aptx Adaptive Input Mode: 32 bits */
STEREO = 0x00,
DUAL_MONO = 0x01,
};
struct AptxSinkBuffering {
uint8_t minSinkBuff_LL;
uint8_t maxSinkBuff_LL;
uint8_t minSinkBuff_HQ;
uint8_t maxSinkBuff_HQ;
uint8_t minSinkBuff_TWS;
uint8_t maxSinkBuff_TWS;
};
struct AptxAdaptive_TTP {
uint8_t TTP_LL_low;
uint8_t TTP_LL_high;
uint8_t TTP_HQ_low;
uint8_t TTP_HQ_high;
uint8_t TTP_TWS_low;
uint8_t TTP_TWS_high;
};
enum LdacChannelMode : uint8_t {
/** Channel Mode: 3 bits */
UNKNOWN = 0x00,
STEREO = 0x01,
DUAL = 0x02,
MONO = 0x04,
};
enum LdacQualityIndex : uint8_t {
// 990kbps
QUALITY_HIGH = 0x00,
// 660kbps
QUALITY_MID = 0x01,
// 330kbps
QUALITY_LOW = 0x02,
// Adaptive Bit Rate mode
QUALITY_ABR = 0x7F,
};
enum SessionParamType : uint8_t {
UNKNOWN = 0x00,
MTU = 0x01,
BITRATE = 0x02,
SINK_LATENCY = 0x03,
};
/** Used for Software Encoding audio feed parameters */
struct PcmParameters {
SampleRate sampleRate;
ChannelMode channelMode;
BitsPerSample bitsPerSample;
};
/**
* Used for Hardware Encoding SBC codec parameters.
* minBitpool and maxBitpool are not bitfields.
*/
struct SbcParameters {
SampleRate sampleRate;
SbcChannelMode channelMode;
SbcBlockLength blockLength;
SbcNumSubbands numSubbands;
SbcAllocMethod allocMethod;
BitsPerSample bitsPerSample;
uint8_t minBitpool;
uint8_t maxBitpool;
};
/** Used for Hardware Encoding AAC codec parameters */
struct AacParameters {
AacObjectType objectType;
SampleRate sampleRate;
ChannelMode channelMode;
AacVariableBitRate variableBitRateEnabled;
BitsPerSample bitsPerSample;
bool frameControlEnabled;
};
/**
* Used for Hardware Encoding LDAC codec parameters
* Only used when configuring the codec. When Capabilities are requested, this
* field is left empty since all qualities must be supported. Not a bitfield.
*/
struct LdacParameters {
SampleRate sampleRate;
LdacChannelMode channelMode;
LdacQualityIndex qualityIndex;
BitsPerSample bitsPerSample;
};
/** Used for Hardware Encoding AptX and AptX-HD codec parameters */
struct AptxParameters {
SampleRate sampleRate;
ChannelMode channelMode;
BitsPerSample bitsPerSample;
};
/** Used for Hardware Encoding AptX-Adaptive codec parameters */
struct AptxAdaptiveParameters {
SampleRate sampleRate;
AptxAdaptiveChannelMode channelMode;
BitsPerSample bitsPerSample;
AptxMode aptxMode;
AptxSinkBuffering sinkBuffering;
AptxAdaptive_TTP ttp;
InputMode inputMode;
uint32_t inputFadeDuration;
uint8_t[25] aptxAdaptiveConfigStream;
};
/** Used for Hardware Encoding AptX TWS codec parameters */
struct AptxTwsParameters {
SampleRate sampleRate;
ChannelMode channelMode;
uint8_t syncMode;
};
/** Used for Hardware Encoding BA CELT codec parameters */
struct BaCeltParameters {
SampleRate sampleRate;
ChannelMode channelMode;
uint16_t frameSize;
uint16_t complexity;
uint16_t predictionMode;
uint16_t vbrFlag;
};
/**
* Used to specify the capabilities of the codecs supported by Hardware Encoding.
* AptX and AptX-HD both use the AptxParameters field.
*/
struct CodecCapabilities {
CodecType codecType;
union Capabilities {
SbcParameters sbcCapabilities;
AacParameters aacCapabilities;
LdacParameters ldacCapabilities;
AptxParameters aptxCapabilities;
AptxAdaptiveParameters aptxAdaptiveCapabilities;
AptxTwsParameters aptxTwsCapabilities;
BaCeltParameters baCeltCapabilities;
} capabilities;
};
struct SinkLatency {
uint64_t remoteDeviceAudioDelay;
uint64_t transmittedOctets;
TimeSpec transmittedOctetsTimeStamp;
};
/**
* Used for proactive update of Session Parameters to server
*/
struct SessionParams {
SessionParamType paramType;
union Param {
uint16_t mtu;
uint32_t encodedAudioBitrate;
SinkLatency sinkLatency;
} param;
};
/** Used to specify the capabilities of the different session types. */
union AudioCapabilities {
PcmParameters pcmCapabilities;
CodecCapabilities codecCapabilities;
};
/**
* Used to configure a Hardware Encoding session.
* AptX and AptX-HD both use the AptxParameters field.
*/
struct CodecConfiguration {
CodecType codecType;
/**
* The encoded audio bitrate in bits / second.
* 0x00000000 - The audio bitrate is not specified / unused
* 0x00000001 - 0x00FFFFFF - Encoded audio bitrate in bits/second
* 0x01000000 - 0xFFFFFFFF - Reserved
*
* The HAL needs to support all legal bitrates for the selected codec.
*/
uint32_t encodedAudioBitrate;
/** Peer MTU (in octets) */
uint16_t peerMtu;
/** Content protection by SCMS-T */
bool isScmstEnabled;
/** Scrambling Requirement */
bool isScramblingEnabled;
union CodecSpecific {
SbcParameters sbcConfig;
AacParameters aacConfig;
LdacParameters ldacConfig;
AptxParameters aptxConfig;
AptxAdaptiveParameters aptxAdaptiveConfig;
AptxTwsParameters aptxTwsConfig;
BaCeltParameters baCeltConfig;
} config;
};
/** Used to configure either a Hardware or Software Encoding session based on session type */
union AudioConfiguration {
PcmParameters pcmConfig;
CodecConfiguration codecConfig;
};

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.bluetooth_audio@2.1",
root: "vendor.qti.hardware.bluetooth_audio",
system_ext_specific: true,
srcs: [
"types.hal",
"IBluetoothAudioPort.hal",
"IBluetoothAudioProvider.hal",
"IBluetoothAudioProvidersFactory.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.qti.hardware.bluetooth_audio@2.0",
],
apex_available: [
"//apex_available:platform",
"com.android.btservices",
],
gen_java: false,
}

View File

@@ -0,0 +1,39 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.1;
import @2.0::IBluetoothAudioPort;
/**
* HAL interface from the Audio HAL to the Bluetooth stack
*
* The Audio HAL calls methods in this interface to start, suspend, and stop
* an audio stream. These calls return immediately and the results, if any,
* are sent over the IBluetoothAudioProvider interface.
*
* Moreover, the Audio HAL can also get the presentation position of the stream
* and provide stream metadata.
*
* 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 IBluetoothAudioPort extends @2.0::IBluetoothAudioPort {
};

View File

@@ -0,0 +1,68 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.1;
import @2.0::IBluetoothAudioProvider;
import @2.1::IBluetoothAudioPort;
import @2.1::AudioConfiguration;
import @2.0::Status;
import @2.0::SessionParams;
/**
* 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 this provider.
* Audio data will be in PCM format as specified by the
* audioConfig.pcmConfig parameter.
* Invalid if streaming is offloaded to hardware or on failure.
*/
startSession_2_1(IBluetoothAudioPort hostIf, AudioConfiguration audioConfig)
generates (Status status, fmq_sync<uint8_t> dataMQ);
};

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.1;
import @2.0::IBluetoothAudioProvidersFactory;
import @2.1::IBluetoothAudioProvider;
import @2.1::AudioCapabilities;
import @2.0::SessionType;
import @2.0::Status;
/**
* 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.0::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.
* A2DP_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_1(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_1(SessionType sessionType)
generates (vec<AudioCapabilities> audioCapabilities);
};

View File

@@ -0,0 +1,143 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Not a contribution.
*/
/*
* Copyright 2018 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 vendor.qti.hardware.bluetooth_audio@2.1;
import @2.0::CodecType;
import @2.0::SampleRate;
import @2.0::ChannelMode;
import @2.0::SbcParameters;
import @2.0::AacParameters;
import @2.0::LdacParameters;
import @2.0::AptxParameters;
import @2.0::AptxAdaptiveParameters;
import @2.0::AptxTwsParameters;
import @2.0::BaCeltParameters;
import @2.0::PcmParameters;
import @2.0::BitsPerSample;
enum CodecType : @2.0::CodecType {
LC3 = 0x18,
};
enum ExtSampleRate : @2.0::SampleRate {
RATE_24000_2 = 0x100,
RATE_8000 = 0x200,
};
enum LC3ChannelMode : uint8_t {
UNKNOWN = 0x00,
STEREO = 0x01,
JOINT_STEREO = 0x02,
DUAL = 0x04,
MONO = 0x08,
CH_5_1 = 0x10,
};
/** Used for Hardware Encoding LC3 codec parameters */
struct lc3CodecConfig {
ExtSampleRate sampleRate;
LC3ChannelMode channelMode;
uint16_t octetsPerFrame; //Octets Per Codec Frame
uint16_t frameDuration; //7.5msec, 10msec
uint32_t bitrate;
BitsPerSample bitsPerSample;
uint8_t numBlocks;
};
/** Used for Hardware Encoding LC3 codec parameters */
struct LC3Parameters {
lc3CodecConfig txConfig;
lc3CodecConfig rxConfig;
uint8_t rxConfigSet; //this shall be set if fromAirConfig Config is present
uint16_t rxLatency;
uint8_t decoderOuputChannels;
uint8_t mode; //0x01-Connected, 0x02-Broadcast, 0x03-Simulcast
uint8_t[16] codecSpecific;
uint8_t defaultQlevel;
uint8_t NumStreamIDGroup;
uint32_t[48] streamMap;//upto 16 stream id support
};
/**
* Used to specify the capabilities of the codecs supported by Hardware Encoding.
* AptX and AptX-HD both use the AptxParameters field.
*/
struct CodecCapabilities {
CodecType codecType;
union Capabilities {
SbcParameters sbcCapabilities;
AacParameters aacCapabilities;
LdacParameters ldacCapabilities;
AptxParameters aptxCapabilities;
AptxAdaptiveParameters aptxAdaptiveCapabilities;
AptxTwsParameters aptxTwsCapabilities;
BaCeltParameters baCeltCapabilities;
LC3Parameters lc3Capabilities;
} capabilities;
};
/** Used to specify the capabilities of the different session types. */
union AudioCapabilities {
PcmParameters pcmCapabilities;
CodecCapabilities codecCapabilities;
};
/**
* Used to configure a Hardware Encoding session.
* AptX and AptX-HD both use the AptxParameters field.
*/
struct CodecConfiguration {
CodecType codecType;
/**
* The encoded audio bitrate in bits / second.
* 0x00000000 - The audio bitrate is not specified / unused
* 0x00000001 - 0x00FFFFFF - Encoded audio bitrate in bits/second
* 0x01000000 - 0xFFFFFFFF - Reserved
*
* The HAL needs to support all legal bitrates for the selected codec.
*/
uint32_t encodedAudioBitrate;
/** Peer MTU (in octets) */
uint16_t peerMtu;
/** Content protection by SCMS-T */
bool isScmstEnabled;
/** Scrambling Requirement */
bool isScramblingEnabled;
union CodecSpecific {
SbcParameters sbcConfig;
AacParameters aacConfig;
LdacParameters ldacConfig;
AptxParameters aptxConfig;
AptxAdaptiveParameters aptxAdaptiveConfig;
AptxTwsParameters aptxTwsConfig;
BaCeltParameters baCeltConfig;
LC3Parameters lc3Config;
} config;
};
/** Used to configure either a Hardware or Software Encoding session based on session type */
union AudioConfiguration {
PcmParameters pcmConfig;
CodecConfiguration codecConfig;
};

View File

@@ -0,0 +1,31 @@
aidl_interface {
name: "vendor.qti.hardware.bluetooth.audio",
host_supported: true,
vendor_available: true,
srcs: [
"vendor/qti//hardware/bluetooth/audio/*.aidl",
],
stability: "vintf",
backend: {
ndk: {
apex_available: [
"//apex_available:platform",
"com.android.btservices",
],
min_sdk_version: "31",
},
cpp: {
enabled: false,
},
java: {
sdk_version: "module_current",
enabled: false,
},
},
versions_with_info: [
{
version: "1",
imports: [],
},
],
}

View File

@@ -0,0 +1 @@
be7f6f90eb88c54a08b4bd98ba130b87a3a467c4

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum AptxAdaptiveR4ChannelMode {
UNKNOWN = 0,
MONO = 1,
STEREO_TWM = 2,
}

View File

@@ -0,0 +1,61 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum AptxAdaptiveR4SampleRate {
RATE_UNKNOWN = 0,
RATE_44100 = 44100,
RATE_48000 = 48000,
RATE_96000 = 96000,
RATE_192000 = 192000,
RATE_32000 = 32000,
}

View File

@@ -0,0 +1,57 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable AptxAdaptiveR4_TTP {
int ttp_ll;
int ttp_hq;
}

View File

@@ -0,0 +1,62 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable LeAudioVendorConfiguration {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
byte pcmBitDepth;
int samplingFrequencyHz;
int frameDurationUs;
int octetsPerFrame;
byte blocksPerSdu;
byte[] codecSpecificData;
}

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum VendorCodecType {
LC3Q = 0,
APTX_ADAPTIVE_R3 = 1,
APTX_ADAPTIVE_R4 = 2,
}

View File

@@ -0,0 +1,67 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable classicVendorCapabilities {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
parcelable AptxAdaptiveR4Capabilities {
int[] sampleRate;
int[] channelMode;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
union CodecSpecific {
vendor.qti.hardware.bluetooth.audio.classicVendorCapabilities.AptxAdaptiveR4Capabilities aptxAdaptiveR4Cap;
}
}

View File

@@ -0,0 +1,67 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable classicVendorConfiguration {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
parcelable AptxAdaptiveR4Configuration {
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4SampleRate sampleRate;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4ChannelMode channelMode;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
union CodecSpecific {
vendor.qti.hardware.bluetooth.audio.classicVendorConfiguration.AptxAdaptiveR4Configuration aptxAdaptiveR4Config;
}
}

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum AptxAdaptiveR4ChannelMode {
UNKNOWN = 0,
MONO = 1,
STEREO_TWM = 2,
}

View File

@@ -0,0 +1,61 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum AptxAdaptiveR4SampleRate {
RATE_UNKNOWN = 0,
RATE_44100 = 44100,
RATE_48000 = 48000,
RATE_96000 = 96000,
RATE_192000 = 192000,
RATE_32000 = 32000,
}

View File

@@ -0,0 +1,57 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable AptxAdaptiveR4_TTP {
int ttp_ll;
int ttp_hq;
}

View File

@@ -0,0 +1,62 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable LeAudioVendorConfiguration {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
byte pcmBitDepth;
int samplingFrequencyHz;
int frameDurationUs;
int octetsPerFrame;
byte blocksPerSdu;
byte[] codecSpecificData;
}

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@Backing(type="int") @VintfStability
enum VendorCodecType {
LC3Q = 0,
APTX_ADAPTIVE_R3 = 1,
APTX_ADAPTIVE_R4 = 2,
}

View File

@@ -0,0 +1,67 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable classicVendorCapabilities {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
parcelable AptxAdaptiveR4Capabilities {
int[] sampleRate;
int[] channelMode;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
union CodecSpecific {
vendor.qti.hardware.bluetooth.audio.classicVendorCapabilities.AptxAdaptiveR4Capabilities aptxAdaptiveR4Cap;
}
}

View File

@@ -0,0 +1,67 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable classicVendorConfiguration {
vendor.qti.hardware.bluetooth.audio.VendorCodecType vendorCodecType;
parcelable AptxAdaptiveR4Configuration {
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4SampleRate sampleRate;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4ChannelMode channelMode;
vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
union CodecSpecific {
vendor.qti.hardware.bluetooth.audio.classicVendorConfiguration.AptxAdaptiveR4Configuration aptxAdaptiveR4Config;
}
}

View File

@@ -0,0 +1,43 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
@Backing(type="int")
enum AptxAdaptiveR4ChannelMode {
UNKNOWN = 0,
MONO = 1,
STEREO_TWM = 2,
}

View File

@@ -0,0 +1,46 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
@Backing(type="int")
enum AptxAdaptiveR4SampleRate {
RATE_UNKNOWN = 0,
RATE_44100 = 44100,
RATE_48000 = 48000,
RATE_96000 = 96000,
RATE_192000 = 192000,
RATE_32000 = 32000,
}

View File

@@ -0,0 +1,41 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
parcelable AptxAdaptiveR4_TTP {
int ttp_ll;
int ttp_hq;
}

View File

@@ -0,0 +1,69 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
import vendor.qti.hardware.bluetooth.audio.VendorCodecType;
@VintfStability
parcelable LeAudioVendorConfiguration {
/*
* vendor codec type
*/
VendorCodecType vendorCodecType;
/*
* PCM is Input for encoder, Output for decoder
*/
byte pcmBitDepth;
/*
* codec-specific parameters
*/
int samplingFrequencyHz;
/*
* FrameDuration based on microseconds.
*/
int frameDurationUs;
/*
* length in octets of a codec frame
*/
int octetsPerFrame;
/*
* Number of blocks of codec frames per single SDU (Service Data Unit)
*/
byte blocksPerSdu;
/*
* vendor codec-specific data
*/
byte[] codecSpecificData;
}

View File

@@ -0,0 +1,43 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
@VintfStability
@Backing(type="int")
enum VendorCodecType {
LC3Q,
APTX_ADAPTIVE_R3,
APTX_ADAPTIVE_R4
}

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
import vendor.qti.hardware.bluetooth.audio.VendorCodecType;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4SampleRate;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4ChannelMode;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP;
@VintfStability
parcelable classicVendorCapabilities {
/** Used for Hardware Encoding AptX-Adaptive-R4 codec parameters */
parcelable AptxAdaptiveR4Capabilities {
int[] sampleRate;
int[] channelMode;
AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
VendorCodecType vendorCodecType;
union CodecSpecific {
AptxAdaptiveR4Capabilities aptxAdaptiveR4Cap;
}
}

View File

@@ -0,0 +1,58 @@
/*
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package vendor.qti.hardware.bluetooth.audio;
import vendor.qti.hardware.bluetooth.audio.VendorCodecType;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4SampleRate;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4ChannelMode;
import vendor.qti.hardware.bluetooth.audio.AptxAdaptiveR4_TTP;
@VintfStability
parcelable classicVendorConfiguration {
/** Used for Hardware Encoding AptX-Adaptive-R4 codec parameters */
parcelable AptxAdaptiveR4Configuration {
AptxAdaptiveR4SampleRate sampleRate;
AptxAdaptiveR4ChannelMode channelMode;
AptxAdaptiveR4_TTP ttp;
int max_bitrate;
byte[] decoder_capability;
int decoder_capability_len;
}
VendorCodecType vendorCodecType;
union CodecSpecific {
AptxAdaptiveR4Configuration aptxAdaptiveR4Config;
}
}

View File

@@ -0,0 +1,37 @@
#Copyright (c) 2019, The Linux Foundation. All rights reserved.
#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions are
#met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
#WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
#ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
#BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
#BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
#OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
#IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#HAL released in Android Q
#Bluetooth Audio
e318824d1eb40ba520316343fbbd3683b90c011e2c66338d8db7aa801da222e7 vendor.qti.hardware.bluetooth_audio@2.0::types
4efce82a613cd7e4886a8d75328d1476366a48a7d221b3238c5c0a084663bb9a vendor.qti.hardware.bluetooth_audio@2.0::IBluetoothAudioPort
80850a7fcdf4bcd89df865226d4e16862d9ca4a832b2e6677e0dd7bb9297e037 vendor.qti.hardware.bluetooth_audio@2.0::IBluetoothAudioProvider
95dfb82e79fc47813b8f4f773b1eb60f79ea7e42e12642356bdf14e144089758 vendor.qti.hardware.bluetooth_audio@2.0::IBluetoothAudioProvidersFactory
ef6d3c9fa95928e3d4c54d170907c7543f729979a12b171e1fd9031e611d92b5 vendor.qti.hardware.bluetooth_audio@2.1::types
f511d8a5b66a9162a20cbe358b67b62e3c7de2ed0fecba3c48e16ad9f27f7863 vendor.qti.hardware.bluetooth_audio@2.1::IBluetoothAudioPort
c652f3eab8fa0d02abfd78dfb102b4387b1187a57406d09703e6494ef3ee75ca vendor.qti.hardware.bluetooth_audio@2.1::IBluetoothAudioProvider
cf19a95e4c72570fca8962f0df9c9334178c701951f681f6afa6fb441edf83fd vendor.qti.hardware.bluetooth_audio@2.1::IBluetoothAudioProvidersFactory