land: audio: Add missing audio configs

Change-Id: I78d38cd72524b7aead4c44f56c36ac77e3fda365
This commit is contained in:
Zhao Wei Liew 2016-11-01 22:02:33 +08:00
parent 8f23963ba0
commit c45fe29d6b
6 changed files with 624 additions and 0 deletions

418
audio/audio_effects.conf Normal file
View file

@ -0,0 +1,418 @@
# List of effect libraries to load. Each library element must contain a "path" element
# giving the full path of the library .so file.
# libraries {
# <lib name> {
# path <lib path>
# }
# }
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
reverb {
path /system/lib/soundfx/libreverbwrapper.so
}
qcbassboost {
path /vendor/lib/soundfx/libqcbassboost.so
}
qcvirt {
path /vendor/lib/soundfx/libqcvirt.so
}
qcreverb {
path /vendor/lib/soundfx/libqcreverb.so
}
visualizer_sw {
path /system/lib/soundfx/libvisualizer.so
}
visualizer_hw {
path /system/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /system/lib/soundfx/libdownmix.so
}
loudness_enhancer {
path /system/lib/soundfx/libldnhncr.so
}
proxy {
path /system/lib/soundfx/libeffectproxy.so
}
offload_bundle {
path /system/lib/soundfx/libqcompostprocbundle.so
}
audio_pre_processing {
path /system/lib/soundfx/libqcomvoiceprocessing.so
}
# bug 156482 add dirac effect start
loudness_enhancer {
path /system/lib/soundfx/libldnhncr.so
}
volume_listener {
path /system/lib/soundfx/libvolumelistener.so
}
dirac {
path /system/lib/soundfx/libdirac.so
}
}
# bug 156482 add dirac effect end
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
# audio HAL implements support for default software audio pre-processing effects
#
# pre_processing {
# path /system/lib/soundfx/libaudiopreprocessing.so
# }
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
# The value of the "library" element must correspond to the name of one library element in the
# "libraries" element.
# The name of the effect element is indicative, only the value of the "uuid" element
# designates the effect.
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
# generic effect type UUID.
# effects {
# <fx name> {
# library <lib name>
# uuid <effect uuid>
# }
# ...
# }
effects {
# additions for the proxy implementation
# Proxy implementation
#effectname {
#library proxy
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# SW implemetation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libsw {
#library libSW
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
#} End of SW effect
# HW implementation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libhw {
#library libHW
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
#}End of HW effect
#} End of effect proxy
bassboost {
library proxy
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
libsw {
library qcbassboost
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
}
libhw {
library offload_bundle
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
}
}
virtualizer {
library proxy
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
libsw {
library qcvirt
uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
}
}
equalizer {
library proxy
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
libsw {
library bundle
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
}
libhw {
library offload_bundle
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
}
}
volume {
library bundle
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
}
reverb_env_aux {
library proxy
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
libsw {
library qcreverb
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
}
libhw {
library offload_bundle
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
}
}
reverb_env_ins {
library proxy
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
libsw {
library qcreverb
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
}
libhw {
library offload_bundle
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
}
}
reverb_pre_aux {
library proxy
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
libsw {
library qcreverb
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
}
libhw {
library offload_bundle
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
}
}
reverb_pre_ins {
library proxy
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
libsw {
library qcreverb
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
}
}
visualizer {
library proxy
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
libsw {
library visualizer_sw
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
libhw {
library visualizer_hw
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
}
}
downmix {
library downmix
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
}
hw_acc {
library offload_bundle
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
}
loudness_enhancer {
library loudness_enhancer
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
}
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}
ns {
library audio_pre_processing
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
}
# bug 156482 add dirac effect start
music_helper {
library volume_listener
uuid 08b8b058-0590-11e5-ac71-0025b32654a0
}
ring_helper {
library volume_listener
uuid 0956df94-0590-11e5-bdbe-0025b32654a0
}
alarm_helper {
library volume_listener
uuid 09f303e2-0590-11e5-8fdb-0025b32654a0
}
# voice_helper is called when stream type is voice_call in VoIP usecase
voice_helper {
library volume_listener
uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0
}
notification_helper {
library volume_listener
uuid 0b776dde-0590-11e5-81ba-0025b32654a0
}
dirac {
library dirac
uuid e069d9e0-8329-11df-9168-0002a5d5c51b
}
}
# additional effect from vendor
# UUID generated using version 1
output_session_processing {
music {
music_helper {
}
}
ring {
ring_helper {
}
}
alarm {
alarm_helper {
}
}
# stream type voice_call is used for VoIP call
voice_call {
voice_helper {
}
}
notification {
notification_helper {
}
}
}
# Audio global processor configurations.
# The global processor configuration consists in a list of effects elements.
# The name of the effect element must be the name of one of the effects in
# the "effects" list of the file.
# Each effect element may optionally contain a list of parameters and their
# default value to apply when the pre processor effect is created.
# A parameter is defined by a "param" element and a "value" element. Each of these elements
# consists in one or more elements specifying a type followed by a value.
# The types defined are: "int", "short", "float", "bool" and "string"
# When both "param" and "value" are a single int, a simple form is allowed where just
# the param and value pair is present in the parameter description
# global_processing {
# <fx name> {
# <param 1 name> {
# param {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# value {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# }
# <param 2 name > {<param> <value>}
# ...
# }
# ...
# }
global_processing {
dirac {
bl@lakala {
param {
int 6
}
value {
string *com.lakala.android
}
}
bl@jawboneup {
param {
int 6
}
value {
string *com.jawbone.up
}
}
bl@hojyremote {
param {
int 6
}
value {
string *com.hojy.hremote
}
}
}
}
# bug 156482 add dirac effect end
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
# audio HAL implements support for them.
#
# agc {
# library pre_processing
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
# }
# aec {
# library pre_processing
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
# }
# ns {
# library pre_processing
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
# }
# Audio preprocessor configurations.
# The pre processor configuration consists in a list of elements each describing
# pre processor settings for a given input source. Valid input source names are:
# "mic", "camcorder", "voice_recognition", "voice_communication"
# Each input source element contains a list of effects elements. The name of the effect
# element must be the name of one of the effects in the "effects" list of the file.
# Each effect element may optionally contain a list of parameters and their
# default value to apply when the pre processor effect is created.
# A parameter is defined by a "param" element and a "value" element. Each of these elements
# consists in one or more elements specifying a type followed by a value.
# The types defined are: "int", "short", "float", "bool" and "string"
# When both "param" and "value" are a single int, a simple form is allowed where just
# the param and value pair is present in the parameter description
# pre_processing {
# <input source name> {
# <fx name> {
# <param 1 name> {
# param {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# value {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# }
# <param 2 name > {<param> <value>}
# ...
# }
# ...
# }
# ...
# }
# Added aec, ns effects for voice_commuincation, which are supported by the board
pre_processing {
voice_communication {
aec {
}
ns {
}
}
}
#
# TODO: add default audio pre processor configurations after debug and tuning phase
#

View file

@ -0,0 +1,56 @@
# List of profiles for the output device session where stream is routed.
# A stream opened with the inputs attributes which match the "flags" and
# "formats" as specified in the profile is routed to a device at
# sample rate specified under "sampling_rates" and bit width under
# "bit_width" and the topology extracted from the acdb data against
# the "app_type".
#
# the flags and formats are specified using the strings corresponding to
# enums in audio.h and audio_policy.h. They are concatenated with "|"
# without space or "\n".
# the flags and formats should match the ones in "audio_policy.conf"
outputs {
default {
flags AUDIO_OUTPUT_FLAG_PRIMARY
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69937
}
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
direct {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
direct_pcm {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 44100|48000|96000|192000
bit_width 16
app_type 69936
}
compress_offload_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000
bit_width 16
app_type 69936
}
compress_offload_24 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS
sampling_rates 44100|48000|96000|192000
bit_width 24
app_type 69940
}
}

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2014, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
<!--- met: -->
<!--- * Redistributions of source code must retain the above copyright -->
<!--- notice, this list of conditions and the following disclaimer. -->
<!--- * Redistributions in binary form must reproduce the above -->
<!--- copyright notice, this list of conditions and the following -->
<!--- disclaimer in the documentation and/or other materials provided -->
<!--- with the distribution. -->
<!--- * Neither the name of The Linux Foundation nor the names of its -->
<!--- contributors may be used to endorse or promote products derived -->
<!--- from this software without specific prior written permission. -->
<!--- -->
<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<mixer>
<!-- These are the initial mixer settings -->
<ctl name="LSM1 MUX" value="None" />
<ctl name="LSM2 MUX" value="None" />
<ctl name="LSM3 MUX" value="None" />
<ctl name="LSM4 MUX" value="None" />
<ctl name="LSM5 MUX" value="None" />
<ctl name="LSM6 MUX" value="None" />
<ctl name="LSM7 MUX" value="None" />
<ctl name="LSM8 MUX" value="None" />
<ctl name="TERT_MI2S_TX LSM Function" value="None" />
<path name="listen-voice-wakeup-1">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM1 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-2">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM2 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-3">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM3 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-4">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM4 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-5">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM5 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-6">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM6 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-7">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM7 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-voice-wakeup-8">
<ctl name="TERT_MI2S_TX LSM Function" value="SWAUDIO" />
<ctl name="LSM8 MUX" value="TERT_MI2S_TX" />
</path>
<path name="listen-ape-handset-mic">
<!-- this is to avoid codec mute when device is not enabled first -->
<ctl name="LOOPBACK Mode" value="ENABLE" />
<!-- actual device ebable sequence -->
<ctl name="DEC1 MUX" value="ADC2" />
<ctl name="ADC2 MUX" value="INP3" />
</path>
</mixer>

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
<!--- met: -->
<!--- * Redistributions of source code must retain the above copyright -->
<!--- notice, this list of conditions and the following disclaimer. -->
<!--- * Redistributions in binary form must reproduce the above -->
<!--- copyright notice, this list of conditions and the following -->
<!--- disclaimer in the documentation and/or other materials provided -->
<!--- with the distribution. -->
<!--- * Neither the name of The Linux Foundation nor the names of its -->
<!--- contributors may be used to endorse or promote products derived -->
<!--- from this software without specific prior written permission. -->
<!--- -->
<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<sound_trigger_platform_info>
<device name="DEVICE_HANDSET_APE_ACDB_ID" value="130" />
<device name="DEVICE_HANDSET_CPE_ACDB_ID" value="128" />
<ctrl name="execution_type" value="APE" /> <!-- value: "CPE" "APE" -->
<ctrl name="max_cpe_sessions" value="1" />
<ctrl name="max_ape_sessions" value="5" />
<ctrl name="enable_failure_detection" value="false" />
<ctrl name="rx_concurrency_disabled" value="true" />
<ctrl name="rx_conc_max_st_ses" value="1" />
<!-- vendor_uuid for a soundmodel. More than one vendor_uuid tags can be -->
<!-- listed in sequence, the below vendor uuid is reserved for Qualcomm -->
<!-- module. ISV must use their own unique vendor uuid. app_type, -->
<!-- module_id, param_id must match to the calibration database -->
<!-- If ISV vendor_uuid is present, execution_type will be forced to APE -->
<vendor_uuid value="68ab2d40-e860-11e3-95ef-0002a5d5c51b" app_type="2" library="libsmwrapper.so">
<!-- format: "ADPCM_packet" or "PCM_packet" !-->
<!-- transfer_mode: "FTRT" or "RT" -->
<!-- kw_duration is in milli seconds. It is valid only for FTRT transfer mode -->
<capture_keyword format="PCM_packet" transfer_mode="RT" kw_duration="2000" />
<param_type name="load_sound_model" module_id="0x00012C0D" param_id="0x00012C14"/>
<param_type name="unload_sound_model" module_id="0x00012C0D" param_id="0x00012C15"/>
<param_type name="confidence_levels" module_id="0x00012C0D" param_id="0x00012C07"/>
<param_type name="operation_mode" module_id="0x00012C0D" param_id="0x00012C02"/>
<ctrl name="max_cpe_phrases" value="6" />
<ctrl name="max_cpe_users" value="3" />
<ctrl name="max_ape_phrases" value="10" />
<ctrl name="max_ape_users" value="10" />
<ctrl name="client_capture_read_delay" value="2000" /> <!-- in milli seconds -->
</vendor_uuid>
</sound_trigger_platform_info>

View file

@ -1,5 +1,7 @@
# Audio configs
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
$(LOCAL_PATH)/audio/audio_output_policy.conf:system/vendor/etc/audio_output_policy.conf \
$(LOCAL_PATH)/audio/audio_platform_info.xml:system/etc/audio_platform_info.xml \
$(LOCAL_PATH)/audio/audio_policy.conf:system/etc/audio_policy.conf \
$(LOCAL_PATH)/audio/mixer_paths.xml:system/etc/mixer_paths.xml

View file

@ -1,3 +1,8 @@
# Audio
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml
# Properties
PRODUCT_PROPERTY_OVERRIDES += \
ro.qc.sdk.audio.fluencetype=fluence \