le-audio porting

Bug: 309393549
Bug: 312127510
Test: manual test

Change-Id: I53af1edd1deffe5d2cdebf03156ce4aa812ca894
This commit is contained in:
Koli Lin 2023-11-19 16:12:06 +00:00
parent 2836c40fd8
commit 335f126c2d
4 changed files with 128 additions and 59 deletions

View file

@ -52,6 +52,8 @@
<scenario encode="TwoChanStereo_32_2" decode="OneChanMono_32_2"/> <scenario encode="TwoChanStereo_32_2" decode="OneChanMono_32_2"/>
<scenario encode="OneChanMono_32_2" decode="OneChanMono_32_2"/> <scenario encode="OneChanMono_32_2" decode="OneChanMono_32_2"/>
<!-- broadcast --> <!-- 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_24_2"/>
<scenario encode="invalid" decode="invalid" broadcast="BcastStereo_16_2"/> <scenario encode="invalid" decode="invalid" broadcast="BcastStereo_16_2"/>
</scenarioList> </scenarioList>
@ -68,9 +70,13 @@
<configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_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="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="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="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="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="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_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="BROADCAST_STEREO"/>
<configuration name="BcastStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="BROADCAST_STEREO"/> <configuration name="BcastStereo_16_2" codecConfiguration="LC3_16k_2" strategyConfiguration="BROADCAST_STEREO"/>
</configurationList> </configurationList>
@ -79,6 +85,7 @@
<codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/> <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_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_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"/> <codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
</codecConfigurationList> </codecConfigurationList>
<strategyConfigurationList> <strategyConfigurationList>
@ -87,5 +94,4 @@
<strategyConfiguration name="MONO_ONE_CIS_PER_DEVICE" audioLocation="MONO" connectedDevice="1" channelCount="1"/> <strategyConfiguration name="MONO_ONE_CIS_PER_DEVICE" audioLocation="MONO" connectedDevice="1" channelCount="1"/>
<strategyConfiguration name="BROADCAST_STEREO" audioLocation="STEREO" connectedDevice="0" channelCount="2"/> <strategyConfiguration name="BROADCAST_STEREO" audioLocation="STEREO" connectedDevice="0" channelCount="2"/>
</strategyConfigurationList> </strategyConfigurationList>
</leAudioOffloadSetting> </leAudioOffloadSetting>

View file

@ -147,25 +147,6 @@ PRODUCT_PACKAGES += \
libspatialaudio \ libspatialaudio \
librondo librondo
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_switcher.supported=true \
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 \
# Bluetooth LE Audio enable hardware offloading
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_offload.supported=true \
persist.bluetooth.leaudio_offload.disabled=false \
# Bluetooth LE Auido 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
# Keymaster HAL # Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
@ -269,3 +250,43 @@ PRODUCT_VENDOR_PROPERTIES += \
# PKVM Memory Reclaim # PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \ PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1 hypervisor.memory_reclaim.supported=1
# 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

View file

@ -158,25 +158,6 @@ PRODUCT_PACKAGES += \
libspatialaudio \ libspatialaudio \
librondo librondo
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_switcher.supported=true \
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 \
# Bluetooth LE Audio enable hardware offloading
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_offload.supported=true \
persist.bluetooth.leaudio_offload.disabled=false \
# Bluetooth LE Auido 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
# Keymaster HAL # Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
@ -269,3 +250,43 @@ PRODUCT_VENDOR_PROPERTIES += \
# PKVM Memory Reclaim # PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \ PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1 hypervisor.memory_reclaim.supported=1
# 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

View file

@ -152,25 +152,6 @@ PRODUCT_PACKAGES += \
libspatialaudio \ libspatialaudio \
librondo librondo
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_switcher.supported=true \
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 \
# Bluetooth LE Audio enable hardware offloading
PRODUCT_PRODUCT_PROPERTIES += \
ro.bluetooth.leaudio_offload.supported=true \
persist.bluetooth.leaudio_offload.disabled=false \
# Bluetooth LE Auido 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
# Keymaster HAL # Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
@ -262,3 +243,43 @@ PRODUCT_VENDOR_PROPERTIES += \
# PKVM Memory Reclaim # PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \ PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1 hypervisor.memory_reclaim.supported=1
# 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