* Update audio policy configuration based on cuttlefish [1] & [2]. * Update product package and copy file definitions to build the new APEX HAL instead of the legacy HAL. * Update to system properties used in the new AIDL HAL. * Use stub to simulate input as Raspberry Pi doesn't have any built-in hardware for audio input. It's still required to have primary input defined in audio policy config for many applications to function. [1]: https://android.googlesource.com/device/google/cuttlefish/+/refs/tags/android-16.0.0_r1/shared/config/audio/policy/audio_policy_configuration.xml [2]: https://android.googlesource.com/device/google/cuttlefish/+/refs/tags/android-16.0.0_r1/shared/config/audio/policy/primary_audio_policy_configuration.xml
86 lines
3.7 KiB
XML
86 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<!-- Copyright (C) 2024 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.
|
|
-->
|
|
|
|
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<!-- version section contains a “version” tag in the form “major.minor” e.g. version=”1.0” -->
|
|
|
|
<!-- Global configuration Decalaration -->
|
|
<globalConfiguration speaker_drc_enabled="false"/>
|
|
|
|
<modules>
|
|
<!-- Primary Audio HAL -->
|
|
<module name="primary" halVersion="3.0">
|
|
<attachedDevices>
|
|
<item>Speaker</item>
|
|
<item>Built-In Mic</item>
|
|
</attachedDevices>
|
|
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
|
<mixPorts>
|
|
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
|
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
|
samplingRates="48000"
|
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
|
</mixPort>
|
|
<mixPort name="primary input" role="sink">
|
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
|
samplingRates="8000 11025 16000 32000 44100 48000"
|
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
|
</mixPort>
|
|
</mixPorts>
|
|
<devicePorts>
|
|
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
|
samplingRates="48000"
|
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
|
</devicePort>
|
|
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
|
samplingRates="8000 11025 16000 32000 44100 48000"
|
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
|
</devicePort>
|
|
</devicePorts>
|
|
<routes>
|
|
<route type="mix" sink="Speaker"
|
|
sources="primary output"/>
|
|
<route type="mix" sink="primary input"
|
|
sources="Built-In Mic"/>
|
|
</routes>
|
|
</module>
|
|
|
|
<!-- USB Audio HAL -->
|
|
<xi:include href="usb_audio_policy_configuration.xml"/>
|
|
|
|
<!-- Remote Submix Audio HAL -->
|
|
<xi:include href="r_submix_audio_policy_configuration.xml"/>
|
|
|
|
<!-- Bluetooth Audio HAL -->
|
|
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
|
|
</modules>
|
|
<!-- End of Modules section -->
|
|
|
|
<!-- Volume section:
|
|
IMPORTANT NOTE: Volume tables have been moved to engine configuration.
|
|
Keep it here for legacy.
|
|
Engine will fallback on these files if none are provided by engine.
|
|
-->
|
|
|
|
<xi:include href="audio_policy_volumes.xml"/>
|
|
<xi:include href="default_volume_tables.xml"/>
|
|
|
|
<!-- End of Volume section -->
|
|
|
|
</audioPolicyConfiguration>
|