X6833B: Configure audio stack

* References
  8e94cbd6b0
  https://github.com/xiaomi-mt6789-devs/android_device_xiaomi_yunluo/blob/lineage-20/Android.mk

Co-authored-by: electimon <electimon@gmail.com>
Co-authored-by: bengris32 <bengris32@protonmail.ch>
Co-authored-by: Woomymy <woomy@woomy.be>
Signed-off-by: dodyirawan85 <40514988+dodyirawan85@users.noreply.github.com>
This commit is contained in:
dodyirawan85 2023-12-07 23:17:56 +07:00
parent 820687dc8a
commit 1d3a267c6b
15 changed files with 3535 additions and 0 deletions

View file

@ -12,6 +12,17 @@ include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
AUDIO_SYMLINKS := \
$(TARGET_OUT_VENDOR)/lib/hw/audio.primary.$(TARGET_BOARD_PLATFORM).so \
$(TARGET_OUT_VENDOR)/lib/hw/audio.r_submix.$(TARGET_BOARD_PLATFORM).so \
$(TARGET_OUT_VENDOR)/lib64/hw/audio.primary.$(TARGET_BOARD_PLATFORM).so \
$(TARGET_OUT_VENDOR)/lib64/hw/audio.r_submix.$(TARGET_BOARD_PLATFORM).so
$(AUDIO_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
$(hide) echo "Linking $@"
@ln -sf $(subst $(TARGET_BOARD_PLATFORM),mediatek,$(notdir $@)) $@
DISPLAY_SYMLINKS := \
$(TARGET_OUT_VENDOR)/bin/hw/android.hardware.graphics.allocator@4.0-service-mediatek
@ -25,6 +36,7 @@ $(VENDOR_PLATFORM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@ln -sf $(TARGET_BOARD_PLATFORM)/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += \
$(AUDIO_SYMLINKS) \
$(DISPLAY_SYMLINKS) \
$(VENDOR_PLATFORM_SYMLINKS)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<!-- List of effect libraries to load.
Each library element must contain a "name" attribute and a "path" attribute giving the
name of a library .so file in /vendor/lib/soundfx on the target
If offloadable effects are present, the AOSP library libeffectproxy.so must be listed as
well as one library for the SW implementation and one library for the DSP implementation:
<library name="proxy" path="libeffectproxy.so"/>
<library name="some_fx_sw" path="lib_some_fx_sw.so"/>
<library name="some_fx_hw" path="lib_some_fx_hw.so"/>
If the audio HAL implements support for AOSP software audio pre-processing effects,
the following library must be added:
<library name="pre_processing" path="libaudiopreprocessing.so"/>
-->
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer" path="libvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="pre_processing" path="libaudiopreprocessing_mtk.so"/>
<library name="dtsaudio" path="libdtsaudio.so"/>
</libraries>
<!-- list of effects to load.
Each "effect" element must contain a "name", "library" and a "uuid" attribute.
The value of the "library" element must correspond to the name of one library element in
the "libraries" element.
The "name" attribute is indicative, only the value of the "uuid" attribute designates
the effect.
The uuid is the implementation specific UUID as specified by the effect vendor. This is not
the generic effect type UUID.
Offloadable effects are described by an "effectProxy" element which contains one "libsw"
element containing the "uuid" and "library" for the SW implementation and one "libhw"
element containing the "uuid" and "library" for the DSP implementation.
The "uuid" value for the "effectProxy" element must be unique and will override the default
uuid in the AOSP proxy effect implementation.
If the audio HAL implements support for AOSP software audio pre-processing effects,
the following effects can be added:
<effect name="agc" library="pre_processing" uuid="aa8130e0-66fc-11e0-bad0-0002a5d5c51b"/>
<effect name="aec" library="pre_processing" uuid="bb392ec0-8d4d-11e0-a896-0002a5d5c51b"/>
<effect name="ns" library="pre_processing" uuid="c06c8400-8e06-11e0-9cb6-0002a5d5c51b"/>
-->
<effects>
<effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="aec" library="pre_processing" uuid="9f35ed76-0b66-4330-8f79-e39ca266dc7c"/>
<effect name="ns" library="pre_processing" uuid="300abe9f-dfc5-4340-9c4b-79ef1be4e651"/>
<effect name="agc" library="pre_processing" uuid="3387eb70-9896-4338-90f5-b2de883864c9"/>
<effect name="dtsaudio" library="dtsaudio" uuid="146edfc0-7ed2-11e4-80eb-0002a5d5c51b"/>
</effects>
<!-- Audio pre processor configurations.
The pre processor configuration is described in a "preprocess" element and consists in a
list of elements each describing pre processor settings for a given use case or "stream".
Each stream element has a "type" attribute corresponding to the input source used.
Valid types are:
"mic", "camcorder", "voice_recognition", "voice_communication"
Each "stream" element contains a list of "apply" elements indicating one effect to apply.
The effect to apply is designated by its name in the "effects" elements.
-->
<!--BSP: add by shuanglei.wang name="audio_gamemode_start" Do not remove it!!!
<stream type="music">
<apply effect="equalizer"/>
</stream>
BSP: add by shuanglei.wang name="audio_gamemode_end" Do not remove it!!!-->
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
<apply effect="agc"/>
</stream>
</preprocess>
<!-- Audio post processor configurations.
The post processor configuration is described in a "postprocess" element and consists in a
list of elements each describing post processor settings for a given use case or "stream".
Each stream element has a "type" attribute corresponding to the stream type used.
Valid types are:
"music", "ring", "alarm", "notification", "voice_call"
Each "stream" element contains a list of "apply" elements indicating one effect to apply.
The effect to apply is designated by its name in the "effects" elements.
<postprocess>
<stream type="music">
<apply effect="music_post_proc"/>
</stream>
<stream type="voice_call">
<apply effect="voice_post_proc"/>
</stream>
<stream type="notification">
<apply effect="notification_post_proc"/>
</stream>
</postprocess>
-->
</audio_effects_conf>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<AudioParameter>
<DumpOptions>
<Category title="Output">
<Option type="SetAudioCommand" cmd="0x63" check="1" uncheck="0">Stream Output Dump</Option>
<Option type="SetAudioCommand" cmd="0x69" check="1" uncheck="0">A2DP Stream Output Dump</Option>
</Category>
<Category title="Input">
<Option type="SetAudioCommand" cmd="0x6B" check="1" uncheck="0">Stream Input Dump</Option>
</Category>
<Category title="AudioMixer">
<Option type="SetParameters" cmd="vendor.af.track.pcm" check="1" uncheck="0">AudioTrack Buffer Dump</Option>
<Option type="SetParameters" cmd="vendor.af.mixer.pcm" check="1" uncheck="0">AudioMixer Buffer Dump</Option>
<Option type="SetParameters" cmd="vendor.af.mixer.drc.pcm" check="1" uncheck="0">AudioMixer DRC Dump</Option>
<Option type="SetParameters" cmd="vendor.af.offload.write.raw" check="1" uncheck="0">AudioMixer Offload Dump</Option>
<Option type="SetParameters" cmd="vendor.af.resampler.pcm" check="1" uncheck="0">AudioMixer SRC Dump</Option>
<Option type="SetParameters" cmd="vendor.af.mixer.end.pcm" check="1" uncheck="0">AudioMixer End Dump</Option>
<Option type="SetParameters" cmd="vendor.af.record.dump.pcm" check="1" uncheck="0">AudioMixer Record Dump</Option>
<Option type="SetParameters" cmd="vendor.af.effect.pcm" check="1" uncheck="0">AudioEffect Dump</Option>
<Option type="SetParameters" cmd="vendor.aaudio.pcm" check="1" uncheck="0">AAudio Dump</Option>
</Category>
</DumpOptions>
<SetAudioCommand>
<Option>0x99, 1</Option>
<Option>0x98, 1</Option>
</SetAudioCommand>
<GetAudioCommand>
<Option>0x64</Option>
<Option>0x66</Option>
<Option>0x68</Option>
</GetAudioCommand>
<SetParameters>
<Option>TDM_Record=0</Option>
<Option>SET_MODE=0</Option>
<Option>HAHA=0</Option>
<Option>Set_SpeechCall_DL_Mute=0</Option>
<Option>SetFmVolume=0</Option>
<Option>ANC_CMD=0</Option>
<Option>vendor.af.dumplog=1</Option>
<Option>LowLatencyDebugEnable=1</Option>
<Option>DetectPulseEnable=1</Option>
</SetParameters>
<GetParameters>
<Option>GetFmEnable</Option>
<Option>DUAL_MIC_GET_GAIN</Option>
</GetParameters>
</AudioParameter>

View file

@ -0,0 +1,323 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2015 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" call_screen_mode_supported="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="3.0">
<attachedDevices>
<item>Speaker</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner In</item>
<item>Voice Call In</item>
<item>Echo Ref In</item>
<item>Telephony Tx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep_buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="fast" role="source" flags="AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source" flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="16000 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="16000 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall_music_uplink" role="source" flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="hdmi_mix_output" role="source">
</mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="1" maxActiveCount="1">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="voice tx" role="sink" maxOpenCount="1" maxActiveCount="1">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="FM Tuner input" role="sink" maxOpenCount="1" maxActiveCount="1">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="voip_tx" role="sink" flags="AUDIO_INPUT_FLAG_VOIP_TX" maxOpenCount="1" maxActiveCount="1">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST" maxOpenCount="1" maxActiveCount="1">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source"/>
<mixPort name="hifi_input" role="sink"/>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_7POINT1"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Analog Dock Headset" type="AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Digital Dock Headset" type="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="FM Tuner Out" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="AUX Digital In" type="AUDIO_DEVICE_IN_AUX_DIGITAL" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="FM Tuner In" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<devicePort tagName="Voice Call In" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
<gains>
<gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT"
minValueMB="-8400"
maxValueMB="4000"
defaultValueMB="0"
stepValueMB="100"/>
</gains>
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,voip_rx,mmap_no_irq_out,fast,Voice Call In"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,mmap_no_irq_out,fast,FM Tuner In,voip_rx,Voice Call In"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,mmap_no_irq_out,fast,FM Tuner In,voip_rx,Voice Call In"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,mmap_no_irq_out,fast,FM Tuner In,voip_rx,Voice Call In"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep_buffer,fast,FM Tuner In,voip_rx,Voice Call In,hifi_playback"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep_buffer,fast,FM Tuner In,voip_rx,Voice Call In,hifi_playback"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep_buffer,fast,voip_rx,Voice Call In"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep_buffer,fast,voip_rx,Voice Call In"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer,fast,voip_rx,Voice Call In"/>
<route type="mix" sink="Analog Dock Headset"
sources="primary output"/>
<route type="mix" sink="Digital Dock Headset"
sources="primary output"/>
<route type="mix" sink="FM Tuner Out"
sources="primary output"/>
<route type="mix" sink="HDMI"
sources="hdmi_mix_output"/>
<route type="mix" sink="Telephony Tx"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In,incall_music_uplink"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,AUX Digital In,USB Device In,USB Headset In"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="voice tx"
sources="Voice Call In"/>
<route type="mix" sink="FM Tuner input"
sources="FM Tuner In,Echo Ref In"/>
<route type="mix" sink="hifi_input"
sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,AUX Digital In,USB Device In,USB Headset In"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,AUX Digital In,USB Device In,USB Headset In"/>
</routes>
</module>
<!-- BT Audio HAL -->
<xi:include href="bluetooth_audio_policy_configuration.xml"/>
<!-- A2dp Input Audio HAL -->
<xi:include href="a2dp_in_audio_policy_configuration.xml"/>
<!-- Usb Audio HAL -->
<xi:include href="usb_audio_accessory_only_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View file

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2015 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 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="3.0">
<attachedDevices>
<item>Speaker</item>
<item>Earpiece</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner In</item>
<item>Voice Call In</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep_buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="fast" role="source" flags="AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink" maxActiveCount="0">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="AUX Digital Out" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Analog Dock Headset" type="AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Digital Dock Headset" type="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="FM Tuner Out" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Primary Out" type="AUDIO_DEVICE_OUT_BUS" role="sink" address="usb_phone_call">
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 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 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="AUX Digital In" type="AUDIO_DEVICE_IN_AUX_DIGITAL" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="FM Tuner In" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="USB Primary In" type="AUDIO_DEVICE_IN_BUS" role="source" address="usb_phone_call">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Voice Call In" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,fast"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,fast,FM Tuner In"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,fast,FM Tuner In"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,fast,FM Tuner In"/>
<route type="mix" sink="AUX Digital Out"
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="Analog Dock Headset"
sources="primary output"/>
<route type="mix" sink="Digital Dock Headset"
sources="primary output"/>
<route type="mix" sink="FM Tuner Out"
sources="primary output"/>
<route type="mix" sink="USB Primary Out"
sources="primary output"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,AUX Digital In,FM Tuner In,USB Primary In,Voice Call In"/>
</routes>
</module>
<!-- A2dp Audio HAL -->
<xi:include href="a2dp_audio_policy_configuration.xml"/>
<!-- Usb Audio HAL -->
<xi:include href="usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="audio_policy_volumes.xml"/>
<xi:include href="default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View file

@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015 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.
-->
<!-- Volume section defines a volume curve for a given use case and device category.
It contains a list of points of this curve expressing the attenuation in Millibels for a given
volume index from 0 to 100.
<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
<point>0,-9600</point>
<point>100,0</point>
</volume>
-->
<volumes>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-2970</point>
<point>33,-2010</point>
<point>66,-1020</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2970</point>
<point>33,-2010</point>
<point>66,-1020</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-2970</point>
<point>33,-2010</point>
<point>66,-1020</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="SILENT_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
ref="FULL_SCALE_VOLUME_CURVE"/>
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
ref="FULL_SCALE_VOLUME_CURVE"/>
</volumes>

View file

@ -0,0 +1,431 @@
<?xml version="1.0" encoding="UTF-8" ?>
<aurisys_config>
<!--
* =========================================================================
* table of uplink/downlink library mapping for each scenario
* =========================================================================
-->
<aurisys_scenarios>
<!-- for aurisys_scene playback normal -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_NORMAL">
<downlink_library_name_list digital_gain_lib_name="">
<library name="mtk_bessound"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene playback fast -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_LOW_LATENCY">
<downlink_library_name_list digital_gain_lib_name="">
<library name="mtk_bessound"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene low latency record -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene record w/o AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene record w/ AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene record In-ear monitors (IEMs) -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_IEM">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene voip -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_VOIP">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
<downlink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene voip w/o AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
<downlink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene playback smartpa -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_SMARTPA">
<downlink_library_name_list digital_gain_lib_name="">
<library name="aurisys_demo"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene HDR record -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_HDR_RECORD">
<uplink_library_name_list digital_gain_lib_name="">
<library name="aurisys_demo"/>
</uplink_library_name_list>
</aurisys_scenario>
</aurisys_scenarios>
<!--
* =========================================================================
* HAL Librarys
* =========================================================================
-->
<hal_librarys>
<!--
* =====================================================================
* MediaTek Bessound
* =====================================================================
-->
<library name="mtk_bessound"
lib_path="/vendor/lib/libaudioloudc.so"
lib64_path="/vendor/lib64/libaudioloudc.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="MTKBESSOUND">
<components>
<!-- for aurisys_scene playback normal -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_NORMAL"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
<!-- for aurisys_scene playback fast -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_LOW_LATENCY"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* MediaTek IIR
* =====================================================================
-->
<library name="mtk_iir"
lib_path="/vendor/lib/lib_iir.so"
lib64_path="/vendor/lib64/lib_iir.so"
param_path=""
lib_dump_path="AUTO"
adb_cmd_key="MTKIIR">
<components>
<!-- for aurisys_scene low latency record -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/ AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene voip -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene voip w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* MediaTek Speech Enhancement Library
* =====================================================================
-->
<library name="mtk_speech_enh"
lib_path="/vendor/lib/lib_speech_enh.so"
lib64_path="/vendor/lib64/lib_speech_enh.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="MTKSE">
<components>
<!-- for aurisys_scene low latency record -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY"
sample_rate="16000,48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC"
sample_rate="16000,48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/ AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_ECHO_REF"
num_channels="1"/>
</buf_refs>
</uplink_process>
</component>
<!-- for aurisys_scene low latency record -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_IEM"
sample_rate="16000,48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene voip -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_ECHO_REF"
num_channels="1"/>
</buf_refs>
</uplink_process>
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="1"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="1"/>
</downlink_process>
</component>
<!-- for aurisys_scene voip w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
</uplink_process>
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="1"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="1"/>
</downlink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* DEMO
* =====================================================================
-->
<library name="aurisys_demo"
lib_path="/vendor/lib/libaurisysdemo.so"
lib64_path="/vendor/lib64/libaurisysdemo.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="AURISYS_DEMO">
<components>
<!-- for aurisys_scene record In-ear monitors (IEMs) -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_IEM"
sample_rate="8000,16000,48000,96000"
audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT,AUDIO_FORMAT_PCM_8_24_BIT,AUDIO_FORMAT_PCM_24_BIT_PACKED"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene playback streamout primary -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_SMARTPA"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
<!-- for aurisys_scene HDR record -->
<component aurisys_scenario="AURISYS_SCENARIO_HDR_RECORD"
sample_rate="8000,16000,48000,96000"
audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT,AUDIO_FORMAT_PCM_8_24_BIT,AUDIO_FORMAT_PCM_24_BIT_PACKED"
frame_size_ms="1,5,20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="2,4"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="2"/>
</uplink_process>
</component>
</components>
</library>
</hal_librarys>
</aurisys_config>

View file

@ -0,0 +1,397 @@
<?xml version="1.0" encoding="UTF-8" ?>
<aurisys_config>
<!--
* =========================================================================
* table of uplink/downlink library mapping for each scenario
* =========================================================================
-->
<aurisys_scenarios>
<!-- for aurisys_scene playback normal -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_NORMAL">
<downlink_library_name_list digital_gain_lib_name="">
<library name="fsm_audio"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene playback fast -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_LOW_LATENCY">
<downlink_library_name_list digital_gain_lib_name="">
<library name="fsm_audio"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene low latency record -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene record w/o AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene record w/ AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene voip -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_VOIP">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
<downlink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
<library name="fsm_audio"/>
</downlink_library_name_list>
</aurisys_scenario>
<!-- for aurisys_scene voip w/o AEC -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC">
<uplink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</uplink_library_name_list>
<downlink_library_name_list digital_gain_lib_name="mtk_speech_enh">
<library name="mtk_speech_enh"/>
</downlink_library_name_list>
</aurisys_scenario>
</aurisys_scenarios>
<!--
* =========================================================================
* HAL Librarys
* =========================================================================
-->
<hal_librarys>
<!--
* =====================================================================
* FSM Audio
* =====================================================================
-->
<library name="fsm_audio"
lib_path="/vendor/lib/libfsmaudio.so"
lib64_path="/vendor/lib64/libfsmaudio.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="FSMAUDIO">
<components>
<!-- for aurisys_scene playback normal -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_NORMAL"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="10"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
<!-- for aurisys_scene playback fast -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_LOW_LATENCY"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="1"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
<!-- for aurisys_scene voip -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="1"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* MediaTek Bessound
* =====================================================================
-->
<library name="mtk_bessound"
lib_path="/vendor/lib/libaudioloudc.so"
lib64_path="/vendor/lib64/libaudioloudc.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="MTKBESSOUND">
<components>
<!-- for aurisys_scene playback normal -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_NORMAL"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
<!-- for aurisys_scene playback fast -->
<component aurisys_scenario="AURISYS_SCENARIO_PLAYBACK_LOW_LATENCY"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_32_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
</downlink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* MediaTek IIR
* =====================================================================
-->
<library name="mtk_iir"
lib_path="/vendor/lib/lib_iir.so"
lib64_path="/vendor/lib64/lib_iir.so"
param_path=""
lib_dump_path="AUTO"
adb_cmd_key="MTKIIR">
<components>
<!-- for aurisys_scene low latency record -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/ AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene voip -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
<!-- for aurisys_scene voip w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC"
sample_rate="16000,32000,48000,96000,192000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2,3"/>
</uplink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* MediaTek Speech Enhancement Library
* =====================================================================
-->
<library name="mtk_speech_enh"
lib_path="/vendor/lib/lib_speech_enh.so"
lib64_path="/vendor/lib64/lib_speech_enh.so"
param_path="/vendor/etc/aurisys_param/Speech_AudioParam.xml"
lib_dump_path="AUTO"
adb_cmd_key="MTKSE">
<components>
<!-- for aurisys_scene low latency record -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_LOW_LATENCY"
sample_rate="16000,48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="1,5"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITHOUT_AEC"
sample_rate="16000,48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1,2"/>
</uplink_process>
</component>
<!-- for aurisys_scene record w/ AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_RECORD_WITH_AEC"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_ECHO_REF"
num_channels="1"/>
</buf_refs>
</uplink_process>
</component>
<!-- for aurisys_scene voip -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_ECHO_REF"
num_channels="1"/>
</buf_refs>
</uplink_process>
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="1"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="1"/>
</downlink_process>
</component>
<!-- for aurisys_scene voip w/o AEC -->
<component aurisys_scenario="AURISYS_SCENARIO_VOIP_WITHOUT_AEC"
sample_rate="16000"
audio_format="AUDIO_FORMAT_PCM_16_BIT"
frame_size_ms="20"
b_interleave="0"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<uplink_process>
<buf_in data_buf_type="DATA_BUF_UPLINK_IN"
num_channels="1,2,3"/>
<buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
num_channels="1"/>
</uplink_process>
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="1"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="1"/>
</downlink_process>
</component>
</components>
</library>
</hal_librarys>
</aurisys_config>

View file

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" ?>
<aurisys_config>
<!--
* =========================================================================
* table of uplink/downlink library mapping for each scenario
* =========================================================================
-->
<aurisys_scenarios>
<!-- for aurisys_scene playback with smartpa for all mixed streamout -->
<aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA">
<downlink_library_name_list digital_gain_lib_name="">
<library name="smartpa_rt5512"/>
</downlink_library_name_list>
</aurisys_scenario>
</aurisys_scenarios>
<!--
* =========================================================================
* DSP HAL Librarys
* =========================================================================
-->
<hal_librarys>
<!--
* =====================================================================
* DEMO
* =====================================================================
-->
<library name="aurisys_demo"
lib_path="/vendor/lib/libaurisysdemo.so"
lib64_path="/vendor/lib64/libaurisysdemo.so"
param_path="/vendor/etc/audio_param"
lib_dump_path="AUTO"
adb_cmd_key="AURISYS_DEMO">
<components>
<!-- for aurisys_scene playback with smartpa -->
<component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA"
sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
num_channels="2"/>
</buf_refs>
</downlink_process>
</component>
</components>
</library>
<!--
* =====================================================================
* RT5512 smartpa
* =====================================================================
-->
<library name="smartpa_rt5512"
lib_path="/vendor/lib/libaudiosmartpartk.so"
lib64_path="/vendor/lib64/libaudiosmartpartk.so"
param_path="/vendor/etc/smartpa_param/SmartPaVendor1_AudioParam.dat"
lib_dump_path="AUTO"
adb_cmd_key="RT5512">
<components>
<!-- for aurisys_scene playback with smartpa -->
<component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA"
sample_rate="48000"
audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
frame_size_ms="0"
b_interleave="1"
enable_log="0"
enable_raw_dump="0"
enable_lib_dump="0"
enhancement_mode="0">
<downlink_process>
<buf_in data_buf_type="DATA_BUF_DOWNLINK_IN"
num_channels="2"/>
<buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
num_channels="2"/>
<buf_refs>
<buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
num_channels="2"/>
</buf_refs>
</downlink_process>
</component>
</components>
</library>
</hal_librarys>
</aurisys_config>

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015 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.
-->
<!-- Default Volume Tables included by Audio Policy Configuration file -->
<!-- Full Default Volume table for all device category -->
<volumes>
<reference name="FULL_SCALE_VOLUME_CURVE">
<!-- Full Scale reference Volume Curve -->
<point>0,0</point>
<point>100,0</point>
</reference>
<reference name="SILENT_VOLUME_CURVE">
<point>0,-9600</point>
<point>100,-9600</point>
</reference>
<reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
<!-- Default System reference Volume Curve -->
<point>1,-2400</point>
<point>33,-1800</point>
<point>66,-1200</point>
<point>100,-600</point>
</reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE">
<!-- Default is Ext Media System Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
<!-- Default Hearing Aid Volume Curve -->
<point>1,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
<!-- **************************************************************** -->
<!-- Non-mutable default volume curves: -->
<!-- * first point is always for index 0 -->
<!-- * attenuation is small enough that stream can still be heard -->
<reference name="DEFAULT_NON_MUTABLE_VOLUME_CURVE">
<!-- Default non-mutable reference Volume Curve -->
<!-- based on DEFAULT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE">
<!--Default non-mutable Volume Curve for headset -->
<!-- based on DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE">
<!-- Default non-mutable Speaker Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE">
<!--Default non-mutable Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE">
<!-- Default non-mutable Ext Media System Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
<!-- Default non-mutable Hearing Aid Volume Curve -->
<!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
<point>0,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
</volumes>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015 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.
-->
<!-- USB Audio HAL Audio Policy Configuration file -->
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>

View file

@ -1,3 +1,7 @@
# Audio
aaudio.mmap_exclusive_policy=2
aaudio.mmap_policy=2
# Display
debug.sf.use_phase_offsets_as_durations=1
debug.sf.late.sf.duration=27600000

View file

@ -43,6 +43,33 @@ PRODUCT_PACKAGES += \
# Allow userspace reboots
$(call inherit-product, $(SRC_TARGET_DIR)/product/userspace_reboot.mk)
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@7.0-impl \
android.hardware.audio.effect@7.0-impl \
android.hardware.audio.service
PRODUCT_PACKAGES += \
audio.bluetooth.default \
android.hardware.bluetooth.audio@2.1-impl
PRODUCT_PACKAGES += \
libaudiofoundation.vendor \
libbluetooth_audio_session \
libalsautils \
libnbaio_mono \
libtinycompress \
libdynproc \
libhapticgenerator
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml
# Boot control HAL
PRODUCT_PACKAGES += \
android.hardware.boot@1.2-service \

View file

@ -1,5 +1,189 @@
## x6833b package version: X6833B-H894DEFGHI-T-GL-231102V2897, unless stated otherwise
# Audio
vendor/lib/hw/audio.primary.mediatek.so
vendor/lib/hw/audio.r_submix.mediatek.so
vendor/lib/libMtkSpeechEnh.so
vendor/lib/lib_iir.so
vendor/lib/lib_speech_enh.so
vendor/lib/libaudio_param_parser-vnd.so
vendor/lib/libaudiocompensationfilter_vendor.so
vendor/lib/libaudiocompensationfilterc.so
vendor/lib/libaudiocomponentengine_vendor.so
vendor/lib/libaudiocomponentenginec.so
vendor/lib/libaudiocustparam_vendor.so
vendor/lib/libaudiodcrflt_vendor.so
vendor/lib/libaudiofmtconv.so
vendor/lib/libaudioloudc.so
vendor/lib/libaudioprimarydevicehalifclient.so
vendor/lib/libaudiotoolkit_vendor.so
vendor/lib/libaurisysdemo.so
vendor/lib/libbessound_hd_mtk_vendor.so
vendor/lib/libblisrc32_vendor.so
vendor/lib/libbwc.so
vendor/lib/libcvsd_mtk.so
vendor/lib/libfsmaudio.so
vendor/lib/libladder.so
vendor/lib/libmsbc_mtk.so
vendor/lib/libmtklimiter_vendor.so
vendor/lib/libmtkshifter_vendor.so
vendor/lib/libnxp_extamp_intf.so
vendor/lib/librt_extamp_intf.so
vendor/lib/libspeech_enh_lib.so
vendor/lib/libspeechparser_vendor.so
vendor/lib/vendor.mediatek.hardware.audio@7.1.so
vendor/lib64/hw/audio.primary.mediatek.so
vendor/lib64/hw/audio.r_submix.mediatek.so
vendor/lib64/libMtkSpeechEnh.so
vendor/lib64/lib_iir.so
vendor/lib64/lib_speech_enh.so
vendor/lib64/libaudio_param_parser-vnd.so
vendor/lib64/libaudiocompensationfilter_vendor.so
vendor/lib64/libaudiocompensationfilterc.so
vendor/lib64/libaudiocomponentengine_vendor.so
vendor/lib64/libaudiocomponentenginec.so
vendor/lib64/libaudiocustparam_vendor.so
vendor/lib64/libaudiodcrflt_vendor.so
vendor/lib64/libaudiofmtconv.so
vendor/lib64/libaudioloudc.so
vendor/lib64/libaudioprimarydevicehalifclient.so
vendor/lib64/libaudiotoolkit_vendor.so
vendor/lib64/libaurisysdemo.so
vendor/lib64/libbessound_hd_mtk_vendor.so
vendor/lib64/libblisrc32_vendor.so
vendor/lib64/libbwc.so
vendor/lib64/libcvsd_mtk.so
vendor/lib64/libfsmaudio.so
vendor/lib64/libladder.so
vendor/lib64/libmsbc_mtk.so
vendor/lib64/libmtklimiter_vendor.so
vendor/lib64/libmtkshifter_vendor.so
vendor/lib64/libnxp_extamp_intf.so
vendor/lib64/librt_extamp_intf.so
vendor/lib64/libspeech_enh_lib.so
vendor/lib64/libspeechparser_vendor.so
vendor/lib64/vendor.mediatek.hardware.audio@7.1.so
# Audio Configs
vendor/etc/audio_param/AudioParamOptions_mgvi.xml
vendor/etc/audio_param/AudioParamOptions_vext.xml
vendor/etc/audio_param/BtInfo_AudioParam.xml
vendor/etc/audio_param/BtInfo_ParamUnitDesc.xml
vendor/etc/audio_param/CRSVolUI_AudioParam.xml
vendor/etc/audio_param/CRSVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/CRSVol_AudioParam.xml
vendor/etc/audio_param/CRSVol_ParamUnitDesc.xml
vendor/etc/audio_param/HpImpedance_AudioParam.xml
vendor/etc/audio_param/HpImpedance_ParamUnitDesc.xml
vendor/etc/audio_param/MicInfo_AudioParam.xml
vendor/etc/audio_param/MicInfo_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackACF_AudioParam.xml
vendor/etc/audio_param/PlaybackACF_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackDRC_AudioParam.xml
vendor/etc/audio_param/PlaybackDRC_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackHCF_AudioParam.xml
vendor/etc/audio_param/PlaybackHCF_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackVolAna_AudioParam.xml
vendor/etc/audio_param/PlaybackVolAna_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackVolDigi_AudioParam.xml
vendor/etc/audio_param/PlaybackVolDigi_ParamUnitDesc.xml
vendor/etc/audio_param/PlaybackVolUI_AudioParam.xml
vendor/etc/audio_param/PlaybackVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/Playback_AudioParam.xml
vendor/etc/audio_param/Playback_ParamTreeView.xml
vendor/etc/audio_param/Playback_ParamUnitDesc.xml
vendor/etc/audio_param/RecordDMNR_AudioParam.xml
vendor/etc/audio_param/RecordDMNR_ParamUnitDesc.xml
vendor/etc/audio_param/RecordFIR_AudioParam.xml
vendor/etc/audio_param/RecordFIR_ParamUnitDesc.xml
vendor/etc/audio_param/RecordUI_AudioParam.xml
vendor/etc/audio_param/RecordUI_ParamUnitDesc.xml
vendor/etc/audio_param/RecordVolUI_AudioParam.xml
vendor/etc/audio_param/RecordVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/RecordVol_AudioParam.xml
vendor/etc/audio_param/RecordVol_ParamUnitDesc.xml
vendor/etc/audio_param/Record_AudioParam.xml
vendor/etc/audio_param/Record_ParamTreeView.xml
vendor/etc/audio_param/Record_ParamUnitDesc.xml
vendor/etc/audio_param/RingbackVolUI_AudioParam.xml
vendor/etc/audio_param/RingbackVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/RingbackVol_AudioParam.xml
vendor/etc/audio_param/RingbackVol_ParamUnitDesc.xml
vendor/etc/audio_param/SmartPa_AudioParam.xml
vendor/etc/audio_param/SmartPa_ParamUnitDesc.xml
vendor/etc/audio_param/SoundEnhancement_AudioParam.xml
vendor/etc/audio_param/SoundEnhancement_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechDMNR_AudioParam.xml
vendor/etc/audio_param/SpeechDMNR_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechEchoRef_AudioParam.xml
vendor/etc/audio_param/SpeechEchoRef_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechGeneral_AudioParam.xml
vendor/etc/audio_param/SpeechGeneral_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechMagiClarity_AudioParam.xml
vendor/etc/audio_param/SpeechMagiClarity_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechNetwork_AudioParam.xml
vendor/etc/audio_param/SpeechNetwork_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechUI_AudioParam.xml
vendor/etc/audio_param/SpeechUI_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechVolUI_AudioParam.xml
vendor/etc/audio_param/SpeechVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/SpeechVol_AudioParam.xml
vendor/etc/audio_param/SpeechVol_ParamUnitDesc.xml
vendor/etc/audio_param/Speech_AudioParam.xml
vendor/etc/audio_param/Speech_ParamTreeView.xml
vendor/etc/audio_param/Speech_ParamUnitDesc.xml
vendor/etc/audio_param/USBCall_AudioParam.xml
vendor/etc/audio_param/USBCall_ParamUnitDesc.xml
vendor/etc/audio_param/USBDevice_AudioParam.xml
vendor/etc/audio_param/USBDevice_ParamUnitDesc.xml
vendor/etc/audio_param/Ultrasound_AudioParam.xml
vendor/etc/audio_param/Ultrasound_ParamUnitDesc.xml
vendor/etc/audio_param/UplinkConfiguration_AudioParam.xml
vendor/etc/audio_param/UplinkConfiguration_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPDMNR_AudioParam.xml
vendor/etc/audio_param/VoIPDMNR_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPGeneral_AudioParam.xml
vendor/etc/audio_param/VoIPGeneral_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPUI_AudioParam.xml
vendor/etc/audio_param/VoIPUI_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPVolUI_AudioParam.xml
vendor/etc/audio_param/VoIPVolUI_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPVol_AudioParam.xml
vendor/etc/audio_param/VoIPVol_ParamUnitDesc.xml
vendor/etc/audio_param/VoIP_AudioParam.xml
vendor/etc/audio_param/VoIP_ParamTreeView.xml
vendor/etc/audio_param/VoIP_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPv2DMNR_AudioParam.xml
vendor/etc/audio_param/VoIPv2DMNR_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPv2General_AudioParam.xml
vendor/etc/audio_param/VoIPv2General_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPv2UI_AudioParam.xml
vendor/etc/audio_param/VoIPv2UI_ParamUnitDesc.xml
vendor/etc/audio_param/VoIPv2_AudioParam.xml
vendor/etc/audio_param/VoIPv2_ParamTreeView.xml
vendor/etc/audio_param/VoIPv2_ParamUnitDesc.xml
vendor/etc/audio_param/VoWDspAec_AudioParam.xml
vendor/etc/audio_param/VoWDspAec_ParamUnitDesc.xml
vendor/etc/audio_param/VoWEngineFeature_AudioParam.xml
vendor/etc/audio_param/VoWEngineFeature_ParamUnitDesc.xml
vendor/etc/audio_param/VoWHwVad_AudioParam.xml
vendor/etc/audio_param/VoWHwVad_ParamUnitDesc.xml
vendor/etc/audio_param/VoWMicSetting_AudioParam.xml
vendor/etc/audio_param/VoWMicSetting_ParamUnitDesc.xml
vendor/etc/audio_param/VoWVoiceCommand_AudioParam.xml
vendor/etc/audio_param/VoWVoiceCommand_ParamUnitDesc.xml
vendor/etc/audio_param/VolumeGainMapUL_AudioParam.xml
vendor/etc/audio_param/VolumeGainMapUL_ParamUnitDesc.xml
vendor/etc/audio_param/VolumeGainMap_AudioParam.xml
vendor/etc/audio_param/VolumeGainMap_ParamUnitDesc.xml
vendor/etc/audio_param/Volume_AudioParam.xml
vendor/etc/audio_param/Volume_ParamUnitDesc.xml
vendor/etc/audio_param/preset_default.bin
vendor/etc/audio_param/preset_music.bin
vendor/etc/audio_param/preset_ringtone.bin
vendor/etc/audio_param/preset_voice.bin
vendor/etc/audio_param/preset_voip.bin
# Display
vendor/bin/hw/mt6789/android.hardware.graphics.allocator@4.0-service-mediatek.mt6789
vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service