diff options
author | shihchienc <shihchienc@google.com> | 2022-07-25 04:26:27 +0000 |
---|---|---|
committer | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-09-19 14:40:49 +0000 |
commit | cfad191e5a58ac7b3c638a9fcfc0d950fdcb1a8c (patch) | |
tree | 2a159e196493b91ca2ce4df17d79f663a22203a5 /bluetooth | |
parent | 8c5b4c367a0ff0f98362afcb752e5e1e5e89840f (diff) |
Add by project le audio offload capabilities config file
We create by project offload capabilities config file to make each
project have its own customized default device offload capabilities.
Bug: 238983662
Test: make sure file added in config folder can be copied into devices
Change-Id: I517ad3db7d60e1fd8647561387cebd9524fe4f2f
Diffstat (limited to 'bluetooth')
-rw-r--r-- | bluetooth/lynx/le_audio_codec_capabilities.xml | 84 | ||||
-rw-r--r-- | bluetooth/qti_default.mk | 4 |
2 files changed, 88 insertions, 0 deletions
diff --git a/bluetooth/lynx/le_audio_codec_capabilities.xml b/bluetooth/lynx/le_audio_codec_capabilities.xml new file mode 100644 index 0000000..cfb915b --- /dev/null +++ b/bluetooth/lynx/le_audio_codec_capabilities.xml @@ -0,0 +1,84 @@ +<?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"/> + </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="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"/> + </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_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"/> + </strategyConfigurationList> +</leAudioOffloadSetting> diff --git a/bluetooth/qti_default.mk b/bluetooth/qti_default.mk index 6132dec..5f508b8 100644 --- a/bluetooth/qti_default.mk +++ b/bluetooth/qti_default.mk @@ -36,6 +36,10 @@ PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.leaudio_offload.disabled=false \ ro.vendor.audio_hal.ble_use_stream_id=true +# LE Auido Offload Capabilities setting +PRODUCT_COPY_FILES += \ + device/google/lynx/bluetooth/lynx/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml + # Bluetooth HAL and Pixel extension DEVICE_MANIFEST_FILE += \ device/google/lynx/bluetooth/manifest_bluetooth.xml |