LE_Audio Porting
Bug: 318616306 Test: Manul Change-Id: Iebaf97b4540b73707aeaeccc765fad6a32267e6c
This commit is contained in:
parent
7e5f4f94d0
commit
feef9d30e9
2 changed files with 139 additions and 0 deletions
97
bluetooth/le_audio_codec_capabilities.xml
Normal file
97
bluetooth/le_audio_codec_capabilities.xml
Normal file
|
@ -0,0 +1,97 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!---
|
||||
This is an example to configure LE Audio hardware offload supported capability settings
|
||||
codecConfigurationList:
|
||||
Supported codec capability along with its parameter setting
|
||||
|
||||
strategyConfigurationList:
|
||||
ASE Configuration strategies
|
||||
|
||||
configurationList:
|
||||
For each configuration, there are two attributes
|
||||
- codecConfiguration
|
||||
- strategyConfiguration
|
||||
|
||||
scenarioList:
|
||||
There would be only one `scenarios` group
|
||||
For each scenario, the are two attributes
|
||||
- encode
|
||||
- decode
|
||||
If a scenario is unidirectional, mark another direction as `invalid`
|
||||
The configuration should be chosen from `configurationList`
|
||||
-->
|
||||
<leAudioOffloadSetting>
|
||||
<scenarioList>
|
||||
<!-- encode only -->
|
||||
<scenario encode="OneChanMono_16_1" decode="invalid"/>
|
||||
<scenario encode="TwoChanStereo_16_1" decode="invalid"/>
|
||||
<scenario encode="OneChanStereo_16_1" decode="invalid"/>
|
||||
<scenario encode="OneChanMono_16_2" decode="invalid"/>
|
||||
<scenario encode="TwoChanStereo_16_2" decode="invalid"/>
|
||||
<scenario encode="OneChanStereo_16_2" decode="invalid"/>
|
||||
<scenario encode="OneChanMono_24_2" decode="invalid"/>
|
||||
<scenario encode="TwoChanStereo_24_2" decode="invalid"/>
|
||||
<scenario encode="OneChanStereo_24_2" decode="invalid"/>
|
||||
<scenario encode="OneChanMono_32_2" decode="invalid"/>
|
||||
<scenario encode="TwoChanStereo_32_2" decode="invalid"/>
|
||||
<scenario encode="OneChanStereo_32_2" decode="invalid"/>
|
||||
<scenario encode="OneChanMono_48_4" decode="invalid"/>
|
||||
<scenario encode="TwoChanStereo_48_4" decode="invalid"/>
|
||||
<scenario encode="OneChanStereo_48_4" decode="invalid"/>
|
||||
<!-- encode and decode -->
|
||||
<scenario encode="OneChanStereo_16_1" decode="OneChanStereo_16_1"/>
|
||||
<scenario encode="OneChanStereo_16_1" decode="OneChanMono_16_1"/>
|
||||
<scenario encode="TwoChanStereo_16_1" decode="OneChanMono_16_1"/>
|
||||
<scenario encode="OneChanMono_16_1" decode="OneChanMono_16_1"/>
|
||||
<scenario encode="OneChanStereo_16_2" decode="OneChanStereo_16_2"/>
|
||||
<scenario encode="OneChanStereo_16_2" decode="OneChanMono_16_2"/>
|
||||
<scenario encode="TwoChanStereo_16_2" decode="OneChanMono_16_2"/>
|
||||
<scenario encode="OneChanMono_16_2" decode="OneChanMono_16_2"/>
|
||||
<scenario encode="OneChanStereo_32_2" decode="OneChanStereo_32_2"/>
|
||||
<scenario encode="OneChanStereo_32_2" decode="OneChanMono_32_2"/>
|
||||
<scenario encode="TwoChanStereo_32_2" decode="OneChanMono_32_2"/>
|
||||
<scenario encode="OneChanMono_32_2" decode="OneChanMono_32_2"/>
|
||||
<!-- broadcast -->
|
||||
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_48_4"/>
|
||||
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_48_2"/>
|
||||
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_24_2"/>
|
||||
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_16_2"/>
|
||||
</scenarioList>
|
||||
<configurationList>
|
||||
<configuration name="OneChanMono_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_16_1" codecConfiguration="LC3_16k_1" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="OneChanMono_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="OneChanMono_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_48_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="OneChanMono_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="TwoChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
|
||||
<configuration name="OneChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
|
||||
<configuration name="BcastStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="BROADCAST_STEREO"/>
|
||||
<configuration name="BcastStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="BROADCAST_STEREO"/>
|
||||
<configuration name="BcastStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="BROADCAST_STEREO"/>
|
||||
<configuration name="BcastStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="BROADCAST_STEREO"/>
|
||||
</configurationList>
|
||||
<codecConfigurationList>
|
||||
<codecConfiguration name="LC3_16k_1" codec="LC3" samplingFrequency="16000" frameDurationUs="7500" octetsPerCodecFrame="30"/>
|
||||
<codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/>
|
||||
<codecConfiguration name="LC3_24k_2" codec="LC3" samplingFrequency="24000" frameDurationUs="10000" octetsPerCodecFrame="60"/>
|
||||
<codecConfiguration name="LC3_32k_2" codec="LC3" samplingFrequency="32000" frameDurationUs="10000" octetsPerCodecFrame="80"/>
|
||||
<codecConfiguration name="LC3_48k_2" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="100"/>
|
||||
<codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
|
||||
</codecConfigurationList>
|
||||
<strategyConfigurationList>
|
||||
<strategyConfiguration name="STEREO_ONE_CIS_PER_DEVICE" audioLocation="STEREO" connectedDevice="2" channelCount="1"/>
|
||||
<strategyConfiguration name="STEREO_TWO_CISES_PER_DEVICE" audioLocation="STEREO" connectedDevice="1" channelCount="2"/>
|
||||
<strategyConfiguration name="MONO_ONE_CIS_PER_DEVICE" audioLocation="MONO" connectedDevice="1" channelCount="1"/>
|
||||
<strategyConfiguration name="BROADCAST_STEREO" audioLocation="STEREO" connectedDevice="0" channelCount="2"/>
|
||||
</strategyConfigurationList>
|
||||
</leAudioOffloadSetting>
|
|
@ -265,3 +265,45 @@ PRODUCT_COPY_FILES += \
|
|||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.com.google.ime.kb_pad_port_b=11.2 \
|
||||
ro.com.google.ime.height_ratio=1.18
|
||||
|
||||
|
||||
# Bluetooth LE Audio
|
||||
# Unicast
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
bluetooth.profile.bap.unicast.client.enabled=true \
|
||||
bluetooth.profile.csip.set_coordinator.enabled=true \
|
||||
bluetooth.profile.hap.client.enabled=true \
|
||||
bluetooth.profile.mcp.server.enabled=true \
|
||||
bluetooth.profile.ccp.server.enabled=true \
|
||||
bluetooth.profile.vcp.controller.enabled=true
|
||||
|
||||
# LE Audio switcher in developer options
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.bluetooth.leaudio_switcher.supported=true \
|
||||
|
||||
# Enable hardware offloading
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.bluetooth.leaudio_offload.supported=true \
|
||||
persist.bluetooth.leaudio_offload.disabled=false
|
||||
|
||||
# Bluetooth LE Audio CIS handover to SCO
|
||||
# Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in
|
||||
# b/242908683.
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.leaudio.notify.idle.during.call=true
|
||||
|
||||
# LE Audio Offload Capabilities setting
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/caimito/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
|
||||
|
||||
# Disable LE Audio dual mic SWB call support
|
||||
# This may depend on the BT controller capability or the launch strategy
|
||||
# For example, P22 BT chip is not able to support 32k dual mic
|
||||
# P23a disabled the 32k dual mic as it is not in the phase 2 launch plan
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
bluetooth.leaudio.dual_bidirection_swb.supported=true
|
||||
|
||||
# LE Audio Unicast Allowlist
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.leaudio.allow_list=SM-R510
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue