diff options
author | Amit Pundir <amit.pundir@linaro.org> | 2020-09-28 12:43:59 +0530 |
---|---|---|
committer | Amit Pundir <amit.pundir@linaro.org> | 2020-11-18 21:30:18 +0530 |
commit | e6732bb951290bc8cdf8241dde06b0195fde6ea8 (patch) | |
tree | 2200b77d698424d9dd209475c37eb01bdea9f270 /etc | |
parent | 6e1a73e3ae7bcc31248b4fee9f7e5b4fa0cee3bb (diff) |
audio: Kang audio HAL from amlogic yukawa device
Copied from device/amlogic/generic/hal/audio/ minus the
speaker equalizer filter file.
It is a generic and more feature rich HAL, plus it fixes
the occasional static noise we hear on db845c and PocoF1.
Removed the mixer control settings from qcom/init.qcom.rc
and added HDMI out mixer control in etc/mixer_paths.xml
to start with. ** Analog audio out is not tested yet. **
ToDo:
1. Fallback to Analog audio port if the monitor doesn't
support HDMI audio out.
2. Mic AEC support is integrated deep in this HAL, so I
didn't remove it. Might as well test and use that
feature on Pixel 3 and Poco F1. Same with speaker EQ,
though we may end up never using this equalizer
feature at all.
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Change-Id: I85614abdd684ab67f405f4c0e48380668ade4e06
Diffstat (limited to 'etc')
-rw-r--r-- | etc/audio_policy_configuration.xml | 59 | ||||
-rw-r--r-- | etc/mixer_paths.xml | 5 |
2 files changed, 50 insertions, 14 deletions
diff --git a/etc/audio_policy_configuration.xml b/etc/audio_policy_configuration.xml index c94718e..fec99cc 100644 --- a/etc/audio_policy_configuration.xml +++ b/etc/audio_policy_configuration.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!-- Copyright (C) 2015 The Android Open Source Project +<!-- Copyright (C) 2019 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. @@ -15,15 +15,40 @@ --> <audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <globalConfiguration speaker_drc_enabled="false"/> - + <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” --> + + <!-- Global configuration Decalaration --> + <globalConfiguration speaker_drc_enabled="true"/> + + + <!-- Modules section: + There is one section per audio HW module present on the platform. + Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”. + The module names are the same as in current .conf file: + “primary”, “A2DP”, “remote_submix”, “USB” + Each module will contain the following sections: + “devicePorts”: a list of device descriptors for all input and output devices accessible via this + module. + This contains both permanently attached devices and removable devices. + “mixPorts”: listing all output and input streams exposed by the audio HAL + “routes”: list of possible connections between input and output devices or between stream and + devices. + "route": is defined by an attribute: + -"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix) + -"sink": the sink involved in this route + -"sources": all the sources than can be connected to the sink via vis route + “attachedDevices”: permanently attached devices. + The attachedDevices section is a list of devices names. The names correspond to device names + defined in <devicePorts> section. + “defaultOutputDevice”: device to be used by default when no policy rule applies + --> <modules> <!-- Primary Audio HAL --> - <module name="primary" halVersion="2.0"> + <module name="primary" halVersion="3.0"> <attachedDevices> <item>Speaker</item> <item>Built-In Mic</item> + <item>Echo Reference</item> </attachedDevices> <defaultOutputDevice>Speaker</defaultOutputDevice> <mixPorts> @@ -36,10 +61,17 @@ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> </mixPort> + <mixPort name="echo reference" role="sink"> + <profile name="echo_reference" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + </mixPort> </mixPorts> <devicePorts> <!-- Output devices declaration, i.e. Sink DEVICE PORT --> - <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER"> + <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address=""> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> </devicePort> <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink"> </devicePort> @@ -49,10 +81,6 @@ </devicePort> <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink"> </devicePort> - <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink"> - </devicePort> - <devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink"> - </devicePort> <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source"> </devicePort> @@ -60,6 +88,11 @@ </devicePort> <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source"> </devicePort> + <devicePort tagName="Echo Reference" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source"> + <profile name="echo_reference" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + </devicePort> </devicePorts> <!-- route declaration, i.e. list all available sources for a given sink --> <routes> @@ -69,16 +102,14 @@ sources="primary output"/> <route type="mix" sink="Wired Headphones" sources="primary output"/> - <route type="mix" sink="Aux Digital" - sources="primary output"/> <route type="mix" sink="BT SCO" sources="primary output"/> <route type="mix" sink="BT SCO Headset" sources="primary output"/> - <route type="mix" sink="BT SCO Car Kit" - sources="primary output"/> <route type="mix" sink="primary input" sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic"/> + <route type="mix" sink="echo reference" + sources="Echo Reference"/> </routes> </module> diff --git a/etc/mixer_paths.xml b/etc/mixer_paths.xml new file mode 100644 index 0000000..dc28741 --- /dev/null +++ b/etc/mixer_paths.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<mixer> + <!-- Enable HDMI out --> + <ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" /> +</mixer> |