Audio configuration for spatial audio

Update audio policy and effect configuration files to
support spatial audio feature

Bug: 237677573
Test: make
Change-Id: I4a7e2eb3c44192954b7bcf804d14097e94e90eb0
This commit is contained in:
justinweng 2022-01-25 15:45:21 +08:00 committed by Eric Laurent
parent 0547b9f648
commit 20a2a95dd3
14 changed files with 109 additions and 37 deletions

View file

@ -182,6 +182,7 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/> <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink --> <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/> <usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
<usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer --> <!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/> <usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic --> <!-- dev1: audio dev2: haptic -->

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -196,25 +200,25 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out" <route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones" <route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker" <route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Headset" <route type="mix" sink="BT BLE Headset"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Speaker" <route type="mix" sink="BT BLE Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -171,15 +175,15 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -186,21 +190,21 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out" <route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones" <route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker" <route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -11,7 +11,11 @@
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<!-- Le Audio Audio Ports --> <!-- Le Audio Audio Ports -->
<mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"/> <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="le audio input" role="sink"> <mixPort name="le audio input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 24000 32000 44100 48000" samplingRates="8000 16000 24000 32000 44100 48000"

View file

@ -429,6 +429,18 @@
<path name="compress-offload-playback" /> <path name="compress-offload-playback" />
</path> </path>
<path name="immersive-playbackP">
<ctl name="TDM_0_RX Mixer EP4" value="1"/>
</path>
<path name="immersive-playbackP bt">
<ctl name="BT_RX Mixer EP4" value="1"/>
</path>
<path name="immersive-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP4" value="1"/>
</path>
<path name="voip-playbackP"> <path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/> <ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path> </path>

View file

@ -182,6 +182,7 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/> <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink --> <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/> <usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
<usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer --> <!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/> <usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic --> <!-- dev1: audio dev2: haptic -->

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -196,25 +200,25 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out" <route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones" <route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker" <route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Headset" <route type="mix" sink="BT BLE Headset"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT BLE Speaker" <route type="mix" sink="BT BLE Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -171,15 +175,15 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -64,6 +64,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT" <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall playback" role="source" <mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -186,21 +190,21 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe" <route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out" <route type="mix" sink="BT A2DP Out"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones" <route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker" <route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/> sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset" <route type="mix" sink="BT SCO Headset"

View file

@ -11,7 +11,11 @@
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<!-- Le Audio Audio Ports --> <!-- Le Audio Audio Ports -->
<mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"/> <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="le audio input" role="sink"> <mixPort name="le audio input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 24000 32000 44100 48000" samplingRates="8000 16000 24000 32000 44100 48000"

View file

@ -429,6 +429,18 @@
<path name="compress-offload-playback" /> <path name="compress-offload-playback" />
</path> </path>
<path name="immersive-playbackP">
<ctl name="TDM_0_RX Mixer EP4" value="1"/>
</path>
<path name="immersive-playbackP bt">
<ctl name="BT_RX Mixer EP4" value="1"/>
</path>
<path name="immersive-playbackP usb-headphone">
<ctl name="USB_RX Mixer EP4" value="1"/>
</path>
<path name="voip-playbackP"> <path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/> <ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path> </path>

View file

@ -237,6 +237,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.le_audio_test=false persist.bluetooth.le_audio_test=false
endif endif
# declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
PRODUCT_PACKAGES += \
libspatialaudio
# Device features # Device features
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml

View file

@ -251,6 +251,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.le_audio_test=false persist.bluetooth.le_audio_test=false
endif endif
# declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
PRODUCT_PACKAGES += \
libspatialaudio
# Device features # Device features
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml