replace common qcom sources with samsung ones
This commit is contained in:
12
qcom/opensource/audio-hal/primary-hal/.clang-format
Normal file
12
qcom/opensource/audio-hal/primary-hal/.clang-format
Normal file
@@ -0,0 +1,12 @@
|
||||
BasedOnStyle: Google
|
||||
Standard: Cpp11
|
||||
AccessModifierOffset: -2
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
ColumnLimit: 100
|
||||
CommentPragmas: NOLINT:.*
|
||||
DerivePointerAlignment: false
|
||||
IndentWidth: 4
|
||||
ContinuationIndentWidth: 8
|
||||
PointerAlignment: Left
|
||||
TabWidth: 4
|
||||
UseTab: Never
|
||||
7
qcom/opensource/audio-hal/primary-hal/Android.mk
Normal file
7
qcom/opensource/audio-hal/primary-hal/Android.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
MY_LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(MY_LOCAL_PATH)/hal/Android.mk
|
||||
|
||||
include $(MY_LOCAL_PATH)/configs/Android.mk
|
||||
|
||||
176
qcom/opensource/audio-hal/primary-hal/LICENSE
Normal file
176
qcom/opensource/audio-hal/primary-hal/LICENSE
Normal file
@@ -0,0 +1,176 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
11
qcom/opensource/audio-hal/primary-hal/Makefile.am
Normal file
11
qcom/opensource/audio-hal/primary-hal/Makefile.am
Normal file
@@ -0,0 +1,11 @@
|
||||
SUBDIRS = hal post_proc
|
||||
|
||||
if QAHW_SUPPORT
|
||||
SUBDIRS += qahw_api qahw_api/test
|
||||
endif
|
||||
|
||||
if AUDIO_HW_LOOPBACK
|
||||
SUBDIRS += hdmi_in_test
|
||||
endif
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
221
qcom/opensource/audio-hal/primary-hal/NOTICE
Normal file
221
qcom/opensource/audio-hal/primary-hal/NOTICE
Normal file
@@ -0,0 +1,221 @@
|
||||
Includes modifications licensed under:
|
||||
|
||||
Copyright (c) 2019, 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.
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for the Android-specific code. ==
|
||||
=========================================================================
|
||||
|
||||
Android Code
|
||||
Copyright 2005-2008 The Android Open Source Project
|
||||
|
||||
This product includes software developed as part of
|
||||
The Android Open Source Project (http://source.android.com).
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for Apache Commons code. ==
|
||||
=========================================================================
|
||||
|
||||
Apache Commons
|
||||
Copyright 1999-2006 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (http://www.apache.org/).
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for Jakarta Commons Logging. ==
|
||||
=========================================================================
|
||||
|
||||
Jakarta Commons Logging (JCL)
|
||||
Copyright 2005,2006 The Apache Software Foundation.
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (http://www.apache.org/).
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for the Nuance code. ==
|
||||
=========================================================================
|
||||
|
||||
These files are Copyright 2007 Nuance Communications, but released under
|
||||
the Apache2 License.
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for the Media Codecs code. ==
|
||||
=========================================================================
|
||||
|
||||
Media Codecs
|
||||
These files are Copyright 1998 - 2009 PacketVideo, but released under
|
||||
the Apache2 License.
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for the TagSoup code. ==
|
||||
=========================================================================
|
||||
|
||||
This file is part of TagSoup and is Copyright 2002-2008 by John Cowan.
|
||||
|
||||
TagSoup is licensed under the Apache License,
|
||||
Version 2.0. You may obtain a copy of this license at
|
||||
http://www.apache.org/licenses/LICENSE-2.0 . You may also have
|
||||
additional legal rights not granted by this license.
|
||||
|
||||
TagSoup is distributed in the hope that it will be useful, but
|
||||
unless required by applicable law or agreed to in writing, TagSoup
|
||||
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
||||
OF ANY KIND, either express or implied; not even the implied warranty
|
||||
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for Additional Codecs code. ==
|
||||
=========================================================================
|
||||
|
||||
Additional Codecs
|
||||
These files are Copyright 2003-2010 VisualOn, but released under
|
||||
the Apache2 License.
|
||||
|
||||
=========================================================================
|
||||
== NOTICE file corresponding to the section 4 d of ==
|
||||
== the Apache License, Version 2.0, ==
|
||||
== in this case for the Audio Effects code. ==
|
||||
=========================================================================
|
||||
|
||||
Audio Effects
|
||||
These files are Copyright (C) 2004-2010 NXP Software and
|
||||
Copyright (C) 2010 The Android Open Source Project, but released under
|
||||
the Apache2 License.
|
||||
|
||||
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
|
||||
|
||||
Unicode Data Files include all data files under the directories
|
||||
http://www.unicode.org/Public/, http://www.unicode.org/reports/,
|
||||
and http://www.unicode.org/cldr/data/ . Unicode Software includes any
|
||||
source code published in the Unicode Standard or under the directories
|
||||
http://www.unicode.org/Public/, http://www.unicode.org/reports/, and
|
||||
http://www.unicode.org/cldr/data/.
|
||||
|
||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA
|
||||
FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY
|
||||
ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF
|
||||
THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY,
|
||||
DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright © 1991-2008 Unicode, Inc. All rights reserved. Distributed
|
||||
under the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Unicode data files and any associated documentation (the
|
||||
"Data Files") or Unicode software and any associated documentation (the
|
||||
"Software") to deal in the Data Files or Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, and/or sell copies of the Data Files or Software,
|
||||
and to permit persons to whom the Data Files or Software are furnished to
|
||||
do so, provided that (a) the above copyright notice(s) and this permission
|
||||
notice appear with all copies of the Data Files or Software, (b) both the
|
||||
above copyright notice(s) and this permission notice appear in associated
|
||||
documentation, and (c) there is clear notice in each modified Data File
|
||||
or in the Software as well as in the documentation associated with the
|
||||
Data File(s) or Software that the data or software has been modified.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
|
||||
OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale, use
|
||||
or other dealings in these Data Files or Software without prior written
|
||||
authorization of the copyright holder.
|
||||
|
||||
Copyright (C) 2013 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.
|
||||
|
||||
_______________________________________________
|
||||
hal-pal/AudioDevice.cpp:
|
||||
Copyright (C) 2013 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.
|
||||
|
||||
This file was modified by DTS, Inc. The portions of the
|
||||
code modified by DTS, Inc are copyrighted and
|
||||
licensed separately, as follows:
|
||||
|
||||
(C) 2014 DTS, Inc.
|
||||
|
||||
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.
|
||||
23
qcom/opensource/audio-hal/primary-hal/adsprpcd/Android.bp
Normal file
23
qcom/opensource/audio-hal/primary-hal/adsprpcd/Android.bp
Normal file
@@ -0,0 +1,23 @@
|
||||
cc_binary {
|
||||
name: "audioadsprpcd",
|
||||
|
||||
srcs: ["adsprpcd.c"],
|
||||
|
||||
header_libs: ["libfastrpc_vendor_headers"],
|
||||
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libdl",
|
||||
"libcutils",
|
||||
],
|
||||
|
||||
init_rc: ["vendor.qti.audio-adsprpc-service.rc"],
|
||||
|
||||
vendor: true,
|
||||
|
||||
owner: "qti",
|
||||
|
||||
sanitize: {
|
||||
integer_overflow: true,
|
||||
},
|
||||
}
|
||||
122
qcom/opensource/audio-hal/primary-hal/adsprpcd/adsprpcd.c
Normal file
122
qcom/opensource/audio-hal/primary-hal/adsprpcd/adsprpcd.c
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2016, 2020-2021, 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.
|
||||
*
|
||||
* Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
*/
|
||||
|
||||
#ifndef VERIFY_PRINT_ERROR
|
||||
#define VERIFY_PRINT_ERROR
|
||||
#endif
|
||||
|
||||
#define VERIFY_PRINT_INFO 0
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <dlfcn.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include "verify.h"
|
||||
#include "AEEStdErr.h"
|
||||
#include <cutils/properties.h>
|
||||
|
||||
#ifndef ADSP_DEFAULT_LISTENER_NAME
|
||||
#define ADSP_DEFAULT_LISTENER_NAME "libadsp_default_listener.so"
|
||||
#endif
|
||||
#ifndef ADSP_LIBHIDL_NAME
|
||||
#define ADSP_LIBHIDL_NAME "libhidlbase.so"
|
||||
#endif
|
||||
|
||||
typedef int (*adsp_default_listener_start_t)(int argc, char *argv[]);
|
||||
|
||||
#ifndef LINUX_ENABLED
|
||||
#define ADSP_LIB_DIRECTORY_PATH "/data/vendor/audio_dsp"
|
||||
|
||||
static void set_adsp_lib_path()
|
||||
{
|
||||
errno = 0;
|
||||
if (access(ADSP_LIB_DIRECTORY_PATH, F_OK) == 0) {
|
||||
if (setenv("DSP_LIBRARY_PATH", ADSP_LIB_DIRECTORY_PATH, 1)) {
|
||||
VERIFY_EPRINTF("setting DSP_LIBRARY_PATH failed: %s", strerror(errno));
|
||||
} else {
|
||||
VERIFY_IPRINTF("DSP_LIBRARY_PATH set to %s, %s", getenv("DSP_LIBRARY_PATH"), strerror(errno));
|
||||
}
|
||||
} else {
|
||||
VERIFY_EPRINTF("%s not found: %s", ADSP_LIB_DIRECTORY_PATH, strerror(errno));
|
||||
}
|
||||
}
|
||||
#else
|
||||
static void set_adsp_lib_path() {}
|
||||
#endif
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
int nErr = 0;
|
||||
void *adsphandler = NULL, *libhidlbaseHandler = NULL;
|
||||
adsp_default_listener_start_t listener_start;
|
||||
char bootmode[PROPERTY_VALUE_MAX];
|
||||
|
||||
VERIFY_EPRINTF("audio adsp daemon starting");
|
||||
if (property_get("ro.bootmode", bootmode, NULL)) {
|
||||
VERIFY_EPRINTF("property ro.bootmode is %s", bootmode);
|
||||
if (!strncmp(bootmode, "charger", 7)) {
|
||||
VERIFY_EPRINTF("device in charging, exit daemon");
|
||||
return nErr;
|
||||
}
|
||||
}
|
||||
if(NULL != (libhidlbaseHandler = dlopen(ADSP_LIBHIDL_NAME, RTLD_NOW))) {
|
||||
set_adsp_lib_path();
|
||||
while (1) {
|
||||
if(NULL != (adsphandler = dlopen(ADSP_DEFAULT_LISTENER_NAME, RTLD_NOW))) {
|
||||
if(NULL != (listener_start =
|
||||
(adsp_default_listener_start_t)dlsym(adsphandler,
|
||||
"adsp_default_listener_start"))) {
|
||||
VERIFY_IPRINTF("adsp_default_listener_start called");
|
||||
nErr = listener_start(argc, argv);
|
||||
}
|
||||
if(0 != dlclose(adsphandler)) {
|
||||
VERIFY_EPRINTF("dlclose failed");
|
||||
}
|
||||
} else {
|
||||
VERIFY_EPRINTF("audio adsp daemon error %s", dlerror());
|
||||
}
|
||||
if (nErr == AEE_ECONNREFUSED) {
|
||||
VERIFY_EPRINTF("fastRPC device driver is disabled, retrying...");
|
||||
}
|
||||
VERIFY_EPRINTF("audio adsp daemon will restart after 25ms...");
|
||||
usleep(25000);
|
||||
}
|
||||
if(0 != dlclose(libhidlbaseHandler)) {
|
||||
VERIFY_EPRINTF("libhidlbase dlclose failed");
|
||||
}
|
||||
}
|
||||
VERIFY_EPRINTF("audio adsp daemon exiting %x", nErr);
|
||||
return nErr;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# Copyright (c) 2018-2020, 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.
|
||||
#
|
||||
|
||||
service vendor.audioadsprpcd_audiopd /vendor/bin/audioadsprpcd audiopd adsp
|
||||
class main
|
||||
user media
|
||||
group media
|
||||
|
||||
# Start audio adsp rpc deamon at early init stage
|
||||
on early-init
|
||||
start vendor.audioadsprpcd_audiopd
|
||||
1
qcom/opensource/audio-hal/primary-hal/configs/Android.mk
Normal file
1
qcom/opensource/audio-hal/primary-hal/configs/Android.mk
Normal file
@@ -0,0 +1 @@
|
||||
include $(call all-subdir-makefiles)
|
||||
472
qcom/opensource/audio-hal/primary-hal/configs/anorak/anorak.mk
Normal file
472
qcom/opensource/audio-hal/primary-hal/configs/anorak/anorak.mk
Normal file
@@ -0,0 +1,472 @@
|
||||
# Audio product definitions
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/anorak/audio-modules.mk
|
||||
PRODUCT_PACKAGES += $(AUDIO_MODULES)
|
||||
|
||||
#BOARD_USES_GENERIC_AUDIO := true
|
||||
#
|
||||
#AUDIO_FEATURE_FLAGS
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(AUDIO_USE_STUB_HAL), true)
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
TARGET_USES_AOSP_FOR_AUDIO := false
|
||||
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
|
||||
AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_MPEGH_SW_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
|
||||
#AUDIO_FEATURE_ENABLED_AGM_HIDL := true
|
||||
AUDIO_FEATURE_ENABLED_LSM_HIDL := true
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := false
|
||||
MM_AUDIO_ENABLED_SAFX := false
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
||||
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_AHAL_EXT := false
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
DOLBY_ENABLE := false
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_SUPPORTS_GCS := false
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
|
||||
#AUDIO_FEATURE_ENABLED_KEEP_ALIVE := true
|
||||
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := false
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_RAS := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
|
||||
BUILD_AUDIO_TECHPACK_SOURCE := true
|
||||
AUDIO_FEATURE_ENABLED_MCS := true
|
||||
##AUDIO_FEATURE_FLAGS
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
|
||||
ifneq ($(strip $(TARGET_USES_RRO)), true)
|
||||
#Audio Specific device overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay
|
||||
endif
|
||||
PRODUCT_PACKAGES += fai__2.7.5_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__4.8.2_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.3_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.0.0_0.1__3.0.0_0.0__3.1.0_0.0__3.2.0_0.0__eai_2.7_enpu3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.3_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.5_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.8_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
|
||||
# Audio configuration xml's related to HALLIDAY
|
||||
QCV_FAMILY_SKUS := anorak
|
||||
DEVICE_SKU := anorak
|
||||
|
||||
CONFIG_PAL_SRC_DIR := vendor/qcom/opensource/pal/configs/anorak
|
||||
CONFIG_HAL_SRC_DIR := vendor/qcom/opensource/audio-hal/primary-hal/configs/anorak
|
||||
#CONFIG_SKU_OUT_DIR := $(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)
|
||||
CONFIG_SKU_OUT_DIR := $(TARGET_COPY_OUT_VENDOR)/etc/
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.conf:$(CONFIG_SKU_OUT_DIR)/audio_effects.conf \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.xml:$(CONFIG_SKU_OUT_DIR)/audio_effects.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/microphone_characteristics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/microphone_characteristics.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/card-defs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/card-defs.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_anorak_qxr.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_anorak_qxr.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_anorak_idp.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_anorak_idp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_anorak_qxr.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_anorak_qxr.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_anorak_idp.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_anorak_idp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/usecaseKvManager.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usecaseKvManager.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
|
||||
|
||||
#XML Audio configuration files
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_policy_configuration.xml:$(CONFIG_SKU_OUT_DIR)/audio_policy_configuration.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/media_codecs_c2_audio.xml:vendor/etc/media_codecs_c2_audio.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm64.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm64.policy
|
||||
|
||||
# Reduce client buffer size for fast audio output tracks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
af.fast_track_multiplier=1
|
||||
|
||||
# Reduce AF standby time for playback threads (except offload)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.audio.flinger_standbytime_ms=2000
|
||||
|
||||
# Low latency audio buffer size in frames
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_size=192
|
||||
|
||||
# period multiplier for low latency capture tracks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.ull_record_period_multiplier=2
|
||||
|
||||
##Ambisonic Capture
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ambisonic.capture=false \
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.fluencetype=none\
|
||||
persist.vendor.audio.fluence.voicecall=true\
|
||||
persist.vendor.audio.fluence.voicerec=false\
|
||||
persist.vendor.audio.fluence.speaker=true\
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
|
||||
#
|
||||
#snapdragon value add features
|
||||
#
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.ssr=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.fluencetype=none\
|
||||
persist.audio.fluence.voicecall=true\
|
||||
persist.audio.fluence.voicerec=false\
|
||||
persist.audio.fluence.speaker=true
|
||||
|
||||
##speaker protection v3 switch and ADSP AFE API version
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.spv3.enable=true\
|
||||
persist.vendor.audio.avs.afe_api_version=2
|
||||
|
||||
#disable tunnel encoding
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.tunnel.encode=false
|
||||
|
||||
#Disable RAS Feature by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
|
||||
#Buffer size in kbytes for compress offload playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
#Enable offload audio video playback by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.offload.video=true
|
||||
|
||||
#Enable audio track offload by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.track.enable=true
|
||||
|
||||
#Enable music through deep buffer
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.deep_buffer.media=true
|
||||
|
||||
#enable voice path for PCM VoIP by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
#Enable multi channel aac through offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
|
||||
#Enable DS2, Hardbypass feature for Dolby
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.dolby.ds2.enabled=false\
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
|
||||
#Disable Multiple offload sesison
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
|
||||
#Disable Compress passthrough playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.passthrough=false
|
||||
|
||||
#Disable surround sound recording
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
|
||||
#enable dsp gapless mode by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
|
||||
#enable pbe effects
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
|
||||
#parser input buffer size(256kb) in byte stream mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.parser.ip.buffer.size=262144
|
||||
|
||||
#flac sw decoder 24 bit decode capability
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.flac.sw.decoder.24bit=true
|
||||
|
||||
#timeout crash duration set to 20sec before system is ready.
|
||||
#timeout duration updates to default timeout of 5sec once the system is ready.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
|
||||
#split a2dp DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
|
||||
|
||||
# A2DP offload support
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
|
||||
# Disable A2DP offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
|
||||
# A2DP offload DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
|
||||
|
||||
#enable software decoders for ALAC and APE
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
|
||||
#enable software decoder for MPEG-H
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
|
||||
#disable hw aac encoder by default in AR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=false
|
||||
|
||||
#audio becoming noisy intent broadcast delay
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.noisy.broadcast.delay=600
|
||||
|
||||
#offload pausetime out duration to 3 secs to inline with other outputs
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.offload.pstimeout.secs=3
|
||||
|
||||
#Set AudioFlinger client heap size
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.af.client_heap_size_kbyte=7168
|
||||
|
||||
#Set HAL buffer size to samples equal to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.in_period_size=144
|
||||
|
||||
#Set HAL buffer size to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
|
||||
#ADM Buffering size in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
|
||||
#enable headset calibration
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
|
||||
#enable dualmic fluence for voice communication
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.audio.fluence.voicecomm=true
|
||||
|
||||
#enable c2 based encoders/decoders as default NT decoders/encoders
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.c2.preferred=true
|
||||
|
||||
#Enable dmaBuf heap usage by C2 components
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.c2.use_dmabufheaps=1
|
||||
|
||||
#Enable C2 suspend
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.qc2audio.suspend.enabled=true
|
||||
|
||||
#Enable qc2 audio sw flac frame decode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.qc2audio.per_frame.flac.dec.enabled=true
|
||||
|
||||
ifneq ($(GENERIC_ODM_IMAGE),true)
|
||||
$(warning "Enabling codec2.0 SW only for non-generic odm build variant")
|
||||
#Rank OMX SW codecs lower than OMX HW codecs
|
||||
PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0
|
||||
endif
|
||||
endif
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
#enable keytone FR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
|
||||
#enable mirror-link feature
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.enable.mirrorlink=false
|
||||
|
||||
#enable voicecall speaker stereo
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
|
||||
#enable AAC frame ctl for A2DP sinks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
|
||||
#enable VBR frame ctl
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
|
||||
|
||||
#enable dedicated proxy for hearing aid
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ha_proxy.enabled=true
|
||||
|
||||
#add dynamic feature flags here
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.feature.a2dp_offload.enable=true \
|
||||
vendor.audio.feature.afe_proxy.enable=true \
|
||||
vendor.audio.feature.anc_headset.enable=false \
|
||||
vendor.audio.feature.battery_listener.enable=true \
|
||||
vendor.audio.feature.compr_cap.enable=false \
|
||||
vendor.audio.feature.compress_in.enable=true \
|
||||
vendor.audio.feature.compress_meta_data.enable=true \
|
||||
vendor.audio.feature.compr_voip.enable=false \
|
||||
vendor.audio.feature.concurrent_capture.enable=true \
|
||||
vendor.audio.feature.custom_stereo.enable=true \
|
||||
vendor.audio.feature.display_port.enable=true \
|
||||
vendor.audio.feature.dsm_feedback.enable=false \
|
||||
vendor.audio.feature.dynamic_ecns.enable=true \
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false \
|
||||
vendor.audio.feature.external_dsp.enable=false \
|
||||
vendor.audio.feature.external_speaker.enable=false \
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false \
|
||||
vendor.audio.feature.fluence.enable=true \
|
||||
vendor.audio.feature.fm.enable=true \
|
||||
vendor.audio.feature.hdmi_edid.enable=true \
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true \
|
||||
vendor.audio.feature.hfp.enable=true \
|
||||
vendor.audio.feature.hifi_audio.enable=false \
|
||||
vendor.audio.feature.hwdep_cal.enable=false \
|
||||
vendor.audio.feature.incall_music.enable=true \
|
||||
vendor.audio.feature.multi_voice_session.enable=true \
|
||||
vendor.audio.feature.keep_alive.enable=true \
|
||||
vendor.audio.feature.kpi_optimize.enable=true \
|
||||
vendor.audio.feature.maxx_audio.enable=false \
|
||||
vendor.audio.feature.ras.enable=true \
|
||||
vendor.audio.feature.record_play_concurency.enable=false \
|
||||
vendor.audio.feature.src_trkn.enable=true \
|
||||
vendor.audio.feature.spkr_prot.enable=true \
|
||||
vendor.audio.feature.ssrec.enable=true \
|
||||
vendor.audio.feature.usb_offload.enable=true \
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true \
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false \
|
||||
vendor.audio.feature.vbat.enable=true \
|
||||
vendor.audio.feature.wsa.enable=false \
|
||||
vendor.audio.feature.audiozoom.enable=false \
|
||||
vendor.audio.feature.snd_mon.enable=true \
|
||||
vendor.audio.feature.dmabuf.cma.memory.enable=true \
|
||||
vendor.audio.hdr.record.enable=false
|
||||
|
||||
|
||||
PRODUCT_PACKAGES_ENG += \
|
||||
VoicePrintTest \
|
||||
VoicePrintDemo
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
AudioSettings
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libaudiodevarb
|
||||
endif
|
||||
|
||||
ifeq ($(call is-vendor-board-platform,QCOM),true)
|
||||
ifeq ($(call is-platform-sdk-version-at-least,28),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libqti_resampler_headers \
|
||||
lib_soundmodel_headers \
|
||||
libqti_vraudio_headers
|
||||
endif
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_3D_AUDIO)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libvr_object_engine \
|
||||
libvr_amb_engine \
|
||||
libhoaeffects_csim
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libadpcmdec
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_GKI := true
|
||||
BUILD_AUDIO_TECHPACK_SOURCE := true
|
||||
@@ -0,0 +1,162 @@
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
ifneq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO),true)
|
||||
#QMAA Mode is enabled
|
||||
TARGET_IS_HEADLESS := true
|
||||
endif
|
||||
endif
|
||||
|
||||
#Packages that should not be installed in QMAA are enabled here
|
||||
ifneq ($(TARGET_IS_HEADLESS),true)
|
||||
|
||||
#AGM
|
||||
AUDIO_AGM := libagmclient
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-impl
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
AUDIO_AGM += agmcompresscap
|
||||
AUDIO_AGM += agmvoiceui
|
||||
AUDIO_AGM += agmhostless
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service.rc
|
||||
AUDIO_AGM += libagmservice
|
||||
|
||||
#PAL Service
|
||||
AUDIO_PAL += libpalclient
|
||||
AUDIO_PAL += vendor.qti.hardware.pal@1.0-impl
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += lib_bt_ble
|
||||
AUDIO_PAL += catf
|
||||
AUDIO_PAL += PalTest
|
||||
AUDIO_PAL += libaudiochargerlistener
|
||||
AUDIO_PAL += libhfp_pal
|
||||
|
||||
# C2 Audio
|
||||
AUDIO_C2 := libqc2audio_base
|
||||
AUDIO_C2 += libqc2audio_utils
|
||||
AUDIO_C2 += libqc2audio_platform
|
||||
AUDIO_C2 += libqc2audio_core
|
||||
AUDIO_C2 += libqc2audio_basecodec
|
||||
AUDIO_C2 += libqc2audio_hooks
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec_data_common
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec_data_common
|
||||
AUDIO_C2 += vendor.qti.media.c2audio@1.0-service
|
||||
AUDIO_C2 += qc2audio_test
|
||||
AUDIO_C2 += libEvrcSwCodec
|
||||
AUDIO_C2 += libQcelp13SwCodec
|
||||
AUDIO_C2 += c2audio.vendor.base-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.base-arm64.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm64.policy
|
||||
|
||||
AUDIO_TEST := mcs_test
|
||||
AUDIO_TEST += ar_util_in_test_example
|
||||
AUDIO_TEST += osal_in_test_example
|
||||
|
||||
|
||||
#AUDIO_MODULES := audio.a2dp.default
|
||||
AUDIO_MODULES := audio.usb.default
|
||||
AUDIO_MODULES += audio.r_submix.default
|
||||
AUDIO_MODULES += audio.primary.anorak
|
||||
AUDIO_MODULES += ftm_test_config_anorak-idp-snd-card
|
||||
AUDIO_MODULES += ftm_test_config_anorak-qxr-snd-card
|
||||
AUDIO_MODULES += audioadsprpcd
|
||||
AUDIO_MODULES += android.hardware.audio.service_64
|
||||
AUDIO_MODULES += IDP_acdb_cal.acdb
|
||||
AUDIO_MODULES += IDP_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += QXR_acdb_cal.acdb
|
||||
AUDIO_MODULES += QXR_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.10.pmd
|
||||
AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.36_enpu2_comp.pmd
|
||||
AUDIO_MODULES += fai__2.0.0_0.1__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__2.7.2_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__2.7.20_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__3.0.0_0.0__eai_2.10_enpuv3.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__3.0.0_0.0__eai_2.7_enpu3.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__eai_2.7_enpu3.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__3.0.0_0.0__eai_2.10_enpu3.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__eai_2.10_enpu3.pmd
|
||||
AUDIO_MODULES += libfmpal
|
||||
AUDIO_MODULES += event.eai
|
||||
AUDIO_MODULES += music.eai
|
||||
AUDIO_MODULES += speech.eai
|
||||
AUDIO_MODULES += libqtigefar
|
||||
AUDIO_MODULES += audiodsd2pcmtest
|
||||
AUDIO_MODULES += mm-audio-ftm
|
||||
AUDIO_MODULES += libmcs
|
||||
|
||||
AUDIO_MODULES += $(AUDIO_AGM)
|
||||
AUDIO_MODULES += $(AUDIO_PAL)
|
||||
AUDIO_MODULES += $(AUDIO_C2)
|
||||
AUDIO_MODULES += $(AUDIO_TEST)
|
||||
|
||||
# for HIDL related packages
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@2.0-service_64 \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.soundtrigger@2.1-impl \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@4.0-util \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@4.0-impl
|
||||
|
||||
# enable audio hidl hal 5.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.common@5.0-util \
|
||||
android.hardware.audio@5.0-impl \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.audio.effect@5.0-impl
|
||||
|
||||
# enable audio hidl hal 6.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@6.0 \
|
||||
android.hardware.audio.common@6.0 \
|
||||
android.hardware.audio.common@6.0-util \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0 \
|
||||
android.hardware.audio.effect@6.0-impl
|
||||
|
||||
# enable audio hidl hal 7.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@7.0 \
|
||||
android.hardware.audio.common@7.0 \
|
||||
android.hardware.audio.common@7.0-util \
|
||||
android.hardware.audio@7.0-impl \
|
||||
android.hardware.audio.effect@7.0 \
|
||||
android.hardware.audio.effect@7.0-impl
|
||||
|
||||
# enable audio hidl hal 7.1
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@7.1-impl
|
||||
|
||||
# enable sound trigger hidl hal 2.2
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
|
||||
# enable sound trigger hidl hal 2.3
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
|
||||
# enable Listen Sound Model hidl 1.0
|
||||
AUDIO_MODULES += \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0 \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0-impl
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,12 @@
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/anorak/audio-modules.mk
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/audio-generic-modules.mk
|
||||
include vendor/qcom/opensource/audio-kernel/audio_kernel_modules.mk
|
||||
|
||||
|
||||
.PHONY: audio_tp audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp: audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp_hal: $(AUDIO_MODULES) $(AUDIO_GENERIC_MODULES)
|
||||
|
||||
audio_tp_dlkm: $(AUDIO_KERNEL_MODULES)
|
||||
@@ -0,0 +1,360 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2018-2019, 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.
|
||||
|
||||
* Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,485 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
|
||||
<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="true" 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="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
<item>Echo Reference</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="haptics output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="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"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_VORBIS"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="compress-input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_DIRECT" >
|
||||
<profile name="compress-capture-AAC-LC" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4 AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
|
||||
</mixPort>
|
||||
<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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_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="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3 VX_AUDIO_FORMAT_APTX_ADAPTIVE_QLEA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3 VX_AUDIO_FORMAT_APTX_ADAPTIVE_QLEA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3 VX_AUDIO_FORMAT_APTX_ADAPTIVE_QLEA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</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="A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Echo Reference" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,A2DP In,Echo Reference"/>
|
||||
<route type="mix" sink="compress-input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,A2DP In"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<!-- <module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module> -->
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2014, 2016-2018, 2021, 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.
|
||||
|
||||
* Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
|
||||
<microphone_characteristics_and_channel_maps>
|
||||
<microphone_characteristics>
|
||||
<microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
|
||||
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_4" type="AUDIO_DEVICE_IN_BACK_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="3" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
</microphone_characteristics>
|
||||
<snd_devices>
|
||||
<input_snd_device>
|
||||
<input_snd_device_mic_mapping>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_SPEAKER_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_VA_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_ULTRASOUND_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_4"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
</input_snd_device_mic_mapping>
|
||||
</input_snd_device>
|
||||
</snd_devices>
|
||||
</microphone_characteristics_and_channel_maps>
|
||||
@@ -0,0 +1,89 @@
|
||||
LATEST_ANDROID_HARDWARE_AUDIO_EFFECT := android.hardware.audio.effect-V2-ndk
|
||||
LATEST_ANDROID_HARDWARE_COMMON := android.hardware.common-V2-ndk
|
||||
LATEST_ANDROID_MEDIA_ADUIO_COMMON_TYPES := android.media.audio.common.types-V3-ndk
|
||||
LATEST_ANDROID_HARDWARE_COMMON_FMQ := android.hardware.common.fmq-V1-ndk
|
||||
|
||||
# to have similar to cc_defaults in make files
|
||||
EFFECTS_DEFAULTS_SHARED_LIBRARIES := \
|
||||
$(LATEST_ANDROID_HARDWARE_AUDIO_EFFECT) \
|
||||
$(LATEST_ANDROID_HARDWARE_COMMON) \
|
||||
$(LATEST_ANDROID_MEDIA_ADUIO_COMMON_TYPES) \
|
||||
$(LATEST_ANDROID_HARDWARE_COMMON_FMQ) \
|
||||
libaudioaidlcommon \
|
||||
libbase \
|
||||
libbinder_ndk \
|
||||
libcutils \
|
||||
libfmq \
|
||||
libutils
|
||||
|
||||
EFFECTS_DEFAULTS_HEADERS_LIBRARIES := \
|
||||
libaudioeffectsaidlqti_headers \
|
||||
libaudio_system_headers \
|
||||
libsystem_headers
|
||||
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
ifneq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO),true)
|
||||
#QMAA Mode is enabled
|
||||
TARGET_IS_HEADLESS := true
|
||||
endif
|
||||
endif
|
||||
#Packages that should not be installed in QMAA are enabled here
|
||||
ifneq ($(TARGET_IS_HEADLESS),true)
|
||||
#MM_AUDIO product packages
|
||||
MM_AUDIO := libcapiv2uvvendor
|
||||
MM_AUDIO += libsoundtriggerhal.qti
|
||||
MM_AUDIO += libadm
|
||||
MM_AUDIO += libAlacSwDec
|
||||
MM_AUDIO += libApeSwDec
|
||||
MM_AUDIO += libcapiv2svacnnvendor
|
||||
MM_AUDIO += libcapiv2svarnnvendor
|
||||
MM_AUDIO += libcapiv2udk7vendor
|
||||
MM_AUDIO += libdsd2pcm
|
||||
MM_AUDIO += libFlacSwDec
|
||||
MM_AUDIO += libbatterylistener
|
||||
MM_AUDIO += audioflacapp
|
||||
MM_AUDIO += liblx-osal
|
||||
|
||||
#AOSP effects
|
||||
MM_AUDIO += libbundleaidl
|
||||
MM_AUDIO += libdownmixaidl
|
||||
MM_AUDIO += libdynamicsprocessingaidl
|
||||
|
||||
MM_AUDIO += libloudnessenhanceraidl
|
||||
MM_AUDIO += libreverbaidl
|
||||
MM_AUDIO += libvisualizeraidl
|
||||
|
||||
#QTI effects
|
||||
MM_AUDIO += libvolumelistener
|
||||
MM_AUDIO += libqcompostprocbundle
|
||||
MM_AUDIO += libqcomvisualizer
|
||||
MM_AUDIO += libqcomvoiceprocessing
|
||||
#KERNEL_TESTS
|
||||
#KERNEL_TESTS := mm-audio-native-test
|
||||
|
||||
# Add VTS modules for userdebug and eng builds
|
||||
#AUDIO_TESTS
|
||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||
AUDIO_TESTS += VtsHalAudioCoreTargetTest
|
||||
AUDIO_TESTS += VtsHalAudioEffectFactoryTargetTest
|
||||
AUDIO_TESTS += VtsHalAudioEffectTargetTest
|
||||
AUDIO_TESTS += VtsHalDownmixTargetTest
|
||||
AUDIO_TESTS += VtsHalEnvironmentalReverbTargetTest
|
||||
AUDIO_TESTS += VtsHalEqualizerTargetTest
|
||||
AUDIO_TESTS += VtsHalHapticGeneratorTargetTest
|
||||
AUDIO_TESTS += VtsHalLoudnessEnhancerTargetTest
|
||||
AUDIO_TESTS += VtsHalPresetReverbTargetTest
|
||||
AUDIO_TESTS += VtsHalVirtualizerTargetTest
|
||||
AUDIO_TESTS += VtsHalVisualizerTargetTest
|
||||
AUDIO_TESTS += VtsHalVolumeTargetTest
|
||||
AUDIO_TESTS += VtsHalAECTargetTest
|
||||
AUDIO_TESTS += VtsHalAGC1TargetTest
|
||||
AUDIO_TESTS += VtsHalAGC2TargetTest
|
||||
AUDIO_TESTS += VtsHalNSTargetTest
|
||||
endif
|
||||
|
||||
AUDIO_GENERIC_MODULES += $(MM_AUDIO)
|
||||
AUDIO_GENERIC_MODULES += $(AUDIO_TESTS)
|
||||
#AUDIO_GENERIC_MODULES += $(KERNEL_TESTS)
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,69 @@
|
||||
#Audio product definitions
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/audio-generic-modules.mk
|
||||
PRODUCT_PACKAGES += $(AUDIO_GENERIC_MODULES)
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += $(MM_AUDIO_DBG)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# audio specific
|
||||
#----------------------------------------------------------------------
|
||||
TARGET_USES_AOSP := false
|
||||
TARGET_USES_AOSP_FOR_AUDIO := false
|
||||
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
TARGET_USES_AOSP_FOR_AUDIO := true
|
||||
endif
|
||||
endif
|
||||
ifeq ($(AUDIO_USE_STUB_HAL), true)
|
||||
-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/default.mk
|
||||
else
|
||||
-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/$(TARGET_BOARD_PLATFORM)/$(TARGET_BOARD_PLATFORM).mk
|
||||
endif
|
||||
|
||||
$(warning audio check QC_HWASAN: $(QC_HWASAN) sanitize_target $(SANITIZE_TARGET))
|
||||
$(call add_soong_config_namespace,vendor_audio_hwasan_config)
|
||||
ifneq ($(filter audio, $(QC_HWASAN)),)
|
||||
$(warning audio hwasan enabled at module level)
|
||||
AUDIO_FEATURE_USE_HWASAN_ARTIFACTS := true
|
||||
PRODUCT_HWASAN_INCLUDE_PATHS += \
|
||||
vendor/qcom/opensource/audio-hal \
|
||||
vendor/qcom/opensource/pal \
|
||||
vendor/qcom/opensource/agm
|
||||
endif
|
||||
|
||||
# Pro Audio feature
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
|
||||
|
||||
SOONG_CONFIG_qtiaudio_var00 := false
|
||||
SOONG_CONFIG_qtiaudio_var11 := false
|
||||
SOONG_CONFIG_qtiaudio_var22 := false
|
||||
SOONG_CONFIG_qtiaudio_hwasan := false
|
||||
|
||||
ifneq ($(BUILD_AUDIO_TECHPACK_SOURCE), true)
|
||||
SOONG_CONFIG_qtiaudio_var00 := true
|
||||
SOONG_CONFIG_qtiaudio_var11 := true
|
||||
SOONG_CONFIG_qtiaudio_var22 := true
|
||||
endif
|
||||
ifeq (,$(wildcard $(QCPATH)/mm-audio-noship))
|
||||
SOONG_CONFIG_qtiaudio_var11 := true
|
||||
endif
|
||||
ifeq (,$(wildcard $(QCPATH)/mm-audio))
|
||||
SOONG_CONFIG_qtiaudio_var22 := true
|
||||
endif
|
||||
|
||||
ifneq ($(filter hwaddress,$(SANITIZE_TARGET)),)
|
||||
$(warning audio hwasan enabled at target level)
|
||||
AUDIO_FEATURE_USE_HWASAN_ARTIFACTS := true
|
||||
SOONG_CONFIG_qtiaudio_hwasan := true
|
||||
endif
|
||||
|
||||
# this feature flag is only set when hwasan is enabled (local or global)
|
||||
ifeq ($(AUDIO_FEATURE_USE_HWASAN_ARTIFACTS), true)
|
||||
$(warning audio use hwasan artifacts)
|
||||
$(call add_soong_config_var_value,vendor_audio_hwasan_config,use_hwasan,true)
|
||||
else
|
||||
$(call add_soong_config_var_value,vendor_audio_hwasan_config,use_hwasan,false)
|
||||
endif
|
||||
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2017, 2019, 2021 The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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="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>
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
<item>Speaker Safe</item>
|
||||
<item>Earpiece</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO 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="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 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_16_BIT"
|
||||
samplingRates="8000 16000 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</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="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
</devicePort>
|
||||
<!-- TODO: Enable multi-channel recording -->
|
||||
<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>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- A2DP Input Audio HAL -->
|
||||
<module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- 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>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
|
||||
<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” -->
|
||||
|
||||
<!-- This is a stub configuration -->
|
||||
<!-- Global configuration Decalaration -->
|
||||
<globalConfiguration speaker_drc_enabled="true"/>
|
||||
<modules>
|
||||
<!-- Primary Audio HAL -->
|
||||
<xi:include href="primary_audio_policy_configuration.xml"/>
|
||||
<!-- Bluetooth Audio HAL -->
|
||||
<xi:include href="bluetooth_audio_policy_configuration.xml"/>
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="r_submix_audio_policy_configuration.xml"/>
|
||||
<!-- USB Audio HAL -->
|
||||
<xi:include href="usb_audio_policy_configuration.xml"/>
|
||||
<xi:include href="stub_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>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
|
||||
<module name="bluetooth_qti" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<!-- A2DP Audio Ports -->
|
||||
<mixPort name="a2dp output" role="source"/>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<mixPort name="hearing aid output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="24000 16000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- A2DP Audio Ports -->
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT Hearing Aid Out"
|
||||
sources="hearing aid output"/>
|
||||
</routes>
|
||||
</module>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
-->
|
||||
<!-- Copyright (C) 2018 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
**
|
||||
*Changes from Qualcomm Innovation Center, Inc. are provided under the following license:
|
||||
*Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
*/
|
||||
-->
|
||||
|
||||
<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
|
||||
<module name="bluetooth_qti" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<mixPort name="hearing aid output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="24000 16000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="BT Hearing Aid Out"
|
||||
sources="hearing aid output"/>
|
||||
</routes>
|
||||
</module>
|
||||
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Linux Foundation. All rights reserved
|
||||
Not a Contribution
|
||||
|
||||
Copyright (C) 2014 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.
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
<Included>
|
||||
<Decoders>
|
||||
<!-- C2 audio decoders -->
|
||||
<MediaCodec name="c2.qti.alac.sw.decoder" type="audio/alac" rank="0">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.ape.sw.decoder" type="audio/x-ape" rank="0">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.flac.sw.decoder" type="audio/flac">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-9216000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.dsd.sw.decoder" type="audio/dsd" rank="0">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000-22579200" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.aac.hw.decoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="8000-1536000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.alac.hw.decoder" type="audio/alac" rank="1">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.wma.hw.decoder" type="audio/x-ms-wma" rank="0">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="8000-1536000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.ape.hw.decoder" type="audio/x-ape" rank="1">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.amrwbplus.hw.decoder" type="audio/amr-wb-plus" rank="0">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="5200-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.amrwb+.hw.decoder" type="audio/amr-wb+" rank="0">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="5200-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<!-- C2 audio encoders -->
|
||||
<MediaCodec name="c2.qti.amrnb.hw.encoder" type="audio/3gpp">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="4750-12200" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.amrwb.hw.encoder" type="audio/amr-wb">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="16000" />
|
||||
<Limit name="bitrate" range="6600-23850" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.aac.hw.encoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="4000-192000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
||||
@@ -0,0 +1,83 @@
|
||||
###################################################################################################
|
||||
# Copyright (C) 2020-2021 The Linux Foundation. All rights reserved
|
||||
# Not a Contribution
|
||||
###################################################################################################
|
||||
# Copyright (C) 2019 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# 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.
|
||||
|
||||
futex: 1
|
||||
# ioctl calls are filtered via the selinux policy.
|
||||
ioctl: 1
|
||||
sched_yield: 1
|
||||
close: 1
|
||||
dup: 1
|
||||
ppoll: 1
|
||||
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
|
||||
mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
|
||||
memfd_create: 1
|
||||
ftruncate: 1
|
||||
ftruncate64: 1
|
||||
|
||||
mremap: 1
|
||||
munmap: 1
|
||||
prctl: 1
|
||||
getuid32: 1
|
||||
writev: 1
|
||||
sigaltstack: 1
|
||||
clone: 1
|
||||
exit: 1
|
||||
lseek: 1
|
||||
rt_sigprocmask: 1
|
||||
openat: 1
|
||||
open: 1
|
||||
fstat64: 1
|
||||
write: 1
|
||||
nanosleep: 1
|
||||
setpriority: 1
|
||||
set_tid_address: 1
|
||||
getdents64: 1
|
||||
readlinkat: 1
|
||||
readlink: 1
|
||||
read: 1
|
||||
pread64: 1
|
||||
fstatfs64: 1
|
||||
gettimeofday: 1
|
||||
faccessat: 1
|
||||
_llseek: 1
|
||||
fstatat64: 1
|
||||
ugetrlimit: 1
|
||||
exit_group: 1
|
||||
restart_syscall: 1
|
||||
rt_sigreturn: 1
|
||||
getrandom: 1
|
||||
madvise: 1
|
||||
|
||||
# crash dump policy additions
|
||||
sigreturn: 1
|
||||
clock_gettime: 1
|
||||
futex: 1
|
||||
getpid: 1
|
||||
gettid: 1
|
||||
pipe2: 1
|
||||
recvmsg: 1
|
||||
process_vm_readv: 1
|
||||
tgkill: 1
|
||||
rt_sigaction: 1
|
||||
rt_tgsigqueueinfo: 1
|
||||
#prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == 0x53564d41
|
||||
#mprotect: arg2 in 0x1|0x2
|
||||
#mmap2: arg2 in 0x1|0x2
|
||||
geteuid32: 1
|
||||
getgid32: 1
|
||||
getegid32: 1
|
||||
getgroups32: 1
|
||||
@@ -0,0 +1,77 @@
|
||||
###################################################################################################
|
||||
# Copyright (C) 2020-2021 The Linux Foundation. All rights reserved
|
||||
# Not a Contribution
|
||||
###################################################################################################
|
||||
# Copyright (C) 2019 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# 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.
|
||||
|
||||
futex: 1
|
||||
# ioctl calls are filtered via the selinux policy.
|
||||
ioctl: 1
|
||||
sched_yield: 1
|
||||
close: 1
|
||||
dup: 1
|
||||
ppoll: 1
|
||||
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
|
||||
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
|
||||
getuid: 1
|
||||
getrlimit: 1
|
||||
fstat: 1
|
||||
newfstatat: 1
|
||||
fstatfs: 1
|
||||
memfd_create: 1
|
||||
ftruncate: 1
|
||||
|
||||
mremap: 1
|
||||
munmap: 1
|
||||
prctl: 1
|
||||
writev: 1
|
||||
sigaltstack: 1
|
||||
clone: 1
|
||||
exit: 1
|
||||
lseek: 1
|
||||
rt_sigprocmask: 1
|
||||
openat: 1
|
||||
write: 1
|
||||
nanosleep: 1
|
||||
setpriority: 1
|
||||
set_tid_address: 1
|
||||
getdents64: 1
|
||||
readlinkat: 1
|
||||
read: 1
|
||||
pread64: 1
|
||||
gettimeofday: 1
|
||||
faccessat: 1
|
||||
exit_group: 1
|
||||
restart_syscall: 1
|
||||
rt_sigreturn: 1
|
||||
getrandom: 1
|
||||
madvise: 1
|
||||
|
||||
# crash dump policy additions
|
||||
clock_gettime: 1
|
||||
getpid: 1
|
||||
gettid: 1
|
||||
pipe2: 1
|
||||
recvmsg: 1
|
||||
process_vm_readv: 1
|
||||
tgkill: 1
|
||||
rt_sigaction: 1
|
||||
rt_tgsigqueueinfo: 1
|
||||
#mprotect: arg2 in 0x1|0x2
|
||||
munmap: 1
|
||||
#mmap: arg2 in 0x1|0x2
|
||||
geteuid: 1
|
||||
getgid: 1
|
||||
getegid: 1
|
||||
getgroups: 1
|
||||
@@ -0,0 +1,36 @@
|
||||
# Copyright (c) 2019-2021 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.
|
||||
|
||||
# device specific syscalls
|
||||
pselect6: 1
|
||||
eventfd2: 1
|
||||
sendto: 1
|
||||
recvfrom: 1
|
||||
_llseek: 1
|
||||
sysinfo: 1
|
||||
getcwd: 1
|
||||
getdents64: 1
|
||||
@@ -0,0 +1,36 @@
|
||||
# Copyright (c) 2019-2021 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.
|
||||
|
||||
# device specific syscalls
|
||||
pselect6: 1
|
||||
eventfd2: 1
|
||||
sendto: 1
|
||||
recvfrom: 1
|
||||
_llseek: 1
|
||||
sysinfo: 1
|
||||
getcwd: 1
|
||||
getdents64: 1
|
||||
@@ -0,0 +1,31 @@
|
||||
# This configuration is used when audio runs in stub/QMAA mode using AIDL Hals.
|
||||
|
||||
$(warning use audio in stub mode)
|
||||
|
||||
# AudioPolicyConfigs
|
||||
APM_CONFIG_SRC_PATH := frameworks/av/services/audiopolicy/config
|
||||
APM_CONFIG_DST_PATH := $(TARGET_COPY_OUT_VENDOR)/etc/audio
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration_stub.xml:$(APM_CONFIG_DST_PATH)/audio_policy_configuration.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(APM_CONFIG_SRC_PATH)/primary_audio_policy_configuration_7_0.xml:$(APM_CONFIG_DST_PATH)/primary_audio_policy_configuration.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/bluetooth_audio_policy_configuration_7_0.xml:$(APM_CONFIG_DST_PATH)/bluetooth_audio_policy_configuration.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/r_submix_audio_policy_configuration.xml:$(APM_CONFIG_DST_PATH)/r_submix_audio_policy_configuration.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/usb_audio_policy_configuration.xml:$(APM_CONFIG_DST_PATH)/usb_audio_policy_configuration.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/stub_audio_policy_configuration.xml:$(APM_CONFIG_DST_PATH)/stub_audio_policy_configuration.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/default_volume_tables.xml:$(APM_CONFIG_DST_PATH)/default_volume_tables.xml \
|
||||
$(APM_CONFIG_SRC_PATH)/audio_policy_volumes.xml:$(APM_CONFIG_DST_PATH)/audio_policy_volumes.xml
|
||||
|
||||
# Copy AudioEffects config
|
||||
PRODUCT_COPY_FILES += \
|
||||
hardware/interfaces/audio/aidl/default/audio_effects_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects_config.xml
|
||||
|
||||
# Add AIDL packages for stub mode
|
||||
PRODUCT_PACKAGES += \
|
||||
audiohalservice.qti \
|
||||
libaudiocorehal.default \
|
||||
libaudioeffecthal.qti
|
||||
|
||||
BUILD_AUDIO_TECHPACK_SOURCE := true
|
||||
@@ -0,0 +1,37 @@
|
||||
#!/vendor/bin/sh
|
||||
# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted (subject to the limitations in the
|
||||
# disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of
|
||||
# its contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
# GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
# HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
#
|
||||
#
|
||||
|
||||
#trigger crash dump
|
||||
echo c > /proc/sysrq-trigger
|
||||
@@ -0,0 +1,46 @@
|
||||
<!-- Copyright (c) 2021 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.
|
||||
-->
|
||||
<manifest version="1.0" type="device">
|
||||
<!-- AGM service-->
|
||||
<hal format="aidl">
|
||||
<name>vendor.qti.hardware.agm</name>
|
||||
<version>1</version>
|
||||
<fqname>IAGM/default</fqname>
|
||||
</hal>
|
||||
<!-- Audio PAL service -->
|
||||
<hal format="aidl">
|
||||
<name>vendor.qti.hardware.pal</name>
|
||||
<version>1</version>
|
||||
<fqname>IPAL/default</fqname>
|
||||
</hal>
|
||||
<!-- PAL Event Notifier service -->
|
||||
<hal format="aidl">
|
||||
<name>vendor.qti.hardware.paleventnotifier</name>
|
||||
<version>1</version>
|
||||
<fqname>IPALEventNotifier/default</fqname>
|
||||
</hal>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,34 @@
|
||||
<!-- Copyright (c) 2021 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.
|
||||
-->
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>vendor.qti.hardware.ListenSoundModelAidl</name>
|
||||
<version>1</version>
|
||||
<fqname>IListenSoundModel/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2015-2021 The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
Copyright (C) 2012 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.
|
||||
-->
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
|
||||
<!-- SimpleOMXComponet based software decoder-->
|
||||
</Decoders>
|
||||
</Included>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) 2016, 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
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- This file contains only audio specific overrides for overlays -->
|
||||
|
||||
<!-- When true use the linux /dev/input/event subsystem to detect the switch changes
|
||||
on the headphone/microphone jack. When false use the older uevent framework -->
|
||||
<bool name="config_useDevInputEventForAudioJack">true</bool>
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,6 @@
|
||||
xsd_config {
|
||||
name: "audio_policy_engine_configuration",
|
||||
srcs: ["audio_policy_engine_configuration.xsd"],
|
||||
package_name: "audio.policy.engine.configuration",
|
||||
nullability: true,
|
||||
}
|
||||
@@ -0,0 +1,302 @@
|
||||
// Signature format: 2.0
|
||||
package audio.policy.engine.configuration {
|
||||
|
||||
public class AttributesGroup {
|
||||
ctor public AttributesGroup();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.AttributesType> getAttributes_optional();
|
||||
method @Nullable public audio.policy.engine.configuration.BundleType getBundle_optional();
|
||||
method @Nullable public audio.policy.engine.configuration.ContentTypeType getContentType_optional();
|
||||
method @Nullable public audio.policy.engine.configuration.FlagsType getFlags_optional();
|
||||
method @Nullable public audio.policy.engine.configuration.SourceType getSource_optional();
|
||||
method @Nullable public audio.policy.engine.configuration.Stream getStreamType();
|
||||
method @Nullable public audio.policy.engine.configuration.UsageType getUsage_optional();
|
||||
method @Nullable public String getVolumeGroup();
|
||||
method public void setBundle_optional(@Nullable audio.policy.engine.configuration.BundleType);
|
||||
method public void setContentType_optional(@Nullable audio.policy.engine.configuration.ContentTypeType);
|
||||
method public void setFlags_optional(@Nullable audio.policy.engine.configuration.FlagsType);
|
||||
method public void setSource_optional(@Nullable audio.policy.engine.configuration.SourceType);
|
||||
method public void setStreamType(@Nullable audio.policy.engine.configuration.Stream);
|
||||
method public void setUsage_optional(@Nullable audio.policy.engine.configuration.UsageType);
|
||||
method public void setVolumeGroup(@Nullable String);
|
||||
}
|
||||
|
||||
public class AttributesRef {
|
||||
ctor public AttributesRef();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.AttributesRefType> getReference();
|
||||
}
|
||||
|
||||
public class AttributesRefType {
|
||||
ctor public AttributesRefType();
|
||||
method @Nullable public audio.policy.engine.configuration.AttributesType getAttributes();
|
||||
method @Nullable public String getName();
|
||||
method public void setAttributes(@Nullable audio.policy.engine.configuration.AttributesType);
|
||||
method public void setName(@Nullable String);
|
||||
}
|
||||
|
||||
public class AttributesType {
|
||||
ctor public AttributesType();
|
||||
method @Nullable public String getAttributesRef();
|
||||
method @Nullable public audio.policy.engine.configuration.BundleType getBundle();
|
||||
method @Nullable public audio.policy.engine.configuration.ContentTypeType getContentType();
|
||||
method @Nullable public audio.policy.engine.configuration.FlagsType getFlags();
|
||||
method @Nullable public audio.policy.engine.configuration.SourceType getSource();
|
||||
method @Nullable public audio.policy.engine.configuration.UsageType getUsage();
|
||||
method public void setAttributesRef(@Nullable String);
|
||||
method public void setBundle(@Nullable audio.policy.engine.configuration.BundleType);
|
||||
method public void setContentType(@Nullable audio.policy.engine.configuration.ContentTypeType);
|
||||
method public void setFlags(@Nullable audio.policy.engine.configuration.FlagsType);
|
||||
method public void setSource(@Nullable audio.policy.engine.configuration.SourceType);
|
||||
method public void setUsage(@Nullable audio.policy.engine.configuration.UsageType);
|
||||
}
|
||||
|
||||
public class BundleType {
|
||||
ctor public BundleType();
|
||||
method @Nullable public String getKey();
|
||||
method @Nullable public String getValue();
|
||||
method public void setKey(@Nullable String);
|
||||
method public void setValue(@Nullable String);
|
||||
}
|
||||
|
||||
public class Configuration {
|
||||
ctor public Configuration();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.AttributesRef> getAttributesRef();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.CriteriaType> getCriteria();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.CriterionTypesType> getCriterion_types();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.ProductStrategies> getProductStrategies();
|
||||
method @Nullable public audio.policy.engine.configuration.Version getVersion();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.VolumeGroupsType> getVolumeGroups();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.VolumesType> getVolumes();
|
||||
method public void setVersion(@Nullable audio.policy.engine.configuration.Version);
|
||||
}
|
||||
|
||||
public enum ContentType {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.ContentType AUDIO_CONTENT_TYPE_MOVIE;
|
||||
enum_constant public static final audio.policy.engine.configuration.ContentType AUDIO_CONTENT_TYPE_MUSIC;
|
||||
enum_constant public static final audio.policy.engine.configuration.ContentType AUDIO_CONTENT_TYPE_SONIFICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.ContentType AUDIO_CONTENT_TYPE_SPEECH;
|
||||
enum_constant public static final audio.policy.engine.configuration.ContentType AUDIO_CONTENT_TYPE_UNKNOWN;
|
||||
}
|
||||
|
||||
public class ContentTypeType {
|
||||
ctor public ContentTypeType();
|
||||
method @Nullable public audio.policy.engine.configuration.ContentType getValue();
|
||||
method public void setValue(@Nullable audio.policy.engine.configuration.ContentType);
|
||||
}
|
||||
|
||||
public class CriteriaType {
|
||||
ctor public CriteriaType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.CriterionType> getCriterion();
|
||||
}
|
||||
|
||||
public class CriterionType {
|
||||
ctor public CriterionType();
|
||||
method @Nullable public String getName();
|
||||
method @Nullable public String getType();
|
||||
method @Nullable public String get_default();
|
||||
method public void setName(@Nullable String);
|
||||
method public void setType(@Nullable String);
|
||||
method public void set_default(@Nullable String);
|
||||
}
|
||||
|
||||
public class CriterionTypeType {
|
||||
ctor public CriterionTypeType();
|
||||
method @Nullable public String getName();
|
||||
method @Nullable public audio.policy.engine.configuration.PfwCriterionTypeEnum getType();
|
||||
method @Nullable public audio.policy.engine.configuration.ValuesType getValues();
|
||||
method public void setName(@Nullable String);
|
||||
method public void setType(@Nullable audio.policy.engine.configuration.PfwCriterionTypeEnum);
|
||||
method public void setValues(@Nullable audio.policy.engine.configuration.ValuesType);
|
||||
}
|
||||
|
||||
public class CriterionTypesType {
|
||||
ctor public CriterionTypesType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.CriterionTypeType> getCriterion_type();
|
||||
}
|
||||
|
||||
public enum DeviceCategory {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.DeviceCategory DEVICE_CATEGORY_EARPIECE;
|
||||
enum_constant public static final audio.policy.engine.configuration.DeviceCategory DEVICE_CATEGORY_EXT_MEDIA;
|
||||
enum_constant public static final audio.policy.engine.configuration.DeviceCategory DEVICE_CATEGORY_HEADSET;
|
||||
enum_constant public static final audio.policy.engine.configuration.DeviceCategory DEVICE_CATEGORY_HEARING_AID;
|
||||
enum_constant public static final audio.policy.engine.configuration.DeviceCategory DEVICE_CATEGORY_SPEAKER;
|
||||
}
|
||||
|
||||
public enum FlagType {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_AUDIBILITY_ENFORCED;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_BEACON;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_BYPASS_INTERRUPTION_POLICY;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_BYPASS_MUTE;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_CAPTURE_PRIVATE;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_DEEP_BUFFER;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_HW_AV_SYNC;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_HW_HOTWORD;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_LOW_LATENCY;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_MUTE_HAPTIC;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_NONE;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_NO_MEDIA_PROJECTION;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_NO_SYSTEM_CAPTURE;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_SCO;
|
||||
enum_constant public static final audio.policy.engine.configuration.FlagType AUDIO_FLAG_SECURE;
|
||||
}
|
||||
|
||||
public class FlagsType {
|
||||
ctor public FlagsType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.FlagType> getValue();
|
||||
method public void setValue(@Nullable java.util.List<audio.policy.engine.configuration.FlagType>);
|
||||
}
|
||||
|
||||
public enum PfwCriterionTypeEnum {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.PfwCriterionTypeEnum exclusive;
|
||||
enum_constant public static final audio.policy.engine.configuration.PfwCriterionTypeEnum inclusive;
|
||||
}
|
||||
|
||||
public class ProductStrategies {
|
||||
ctor public ProductStrategies();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.ProductStrategies.ProductStrategy> getProductStrategy();
|
||||
}
|
||||
|
||||
public static class ProductStrategies.ProductStrategy {
|
||||
ctor public ProductStrategies.ProductStrategy();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.AttributesGroup> getAttributesGroup();
|
||||
method @Nullable public String getName();
|
||||
method public void setName(@Nullable String);
|
||||
}
|
||||
|
||||
public enum SourceEnumType {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_CAMCORDER;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_DEFAULT;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_ECHO_REFERENCE;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_FM_TUNER;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_MIC;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_REMOTE_SUBMIX;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_UNPROCESSED;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_CALL;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_COMMUNICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_DOWNLINK;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_PERFORMANCE;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_RECOGNITION;
|
||||
enum_constant public static final audio.policy.engine.configuration.SourceEnumType AUDIO_SOURCE_VOICE_UPLINK;
|
||||
}
|
||||
|
||||
public class SourceType {
|
||||
ctor public SourceType();
|
||||
method @Nullable public audio.policy.engine.configuration.SourceEnumType getValue();
|
||||
method public void setValue(@Nullable audio.policy.engine.configuration.SourceEnumType);
|
||||
}
|
||||
|
||||
public enum Stream {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_ACCESSIBILITY;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_ALARM;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_ASSISTANT;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_BLUETOOTH_SCO;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_DEFAULT;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_DTMF;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_ENFORCED_AUDIBLE;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_MUSIC;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_NOTIFICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_RING;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_SYSTEM;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_TTS;
|
||||
enum_constant public static final audio.policy.engine.configuration.Stream AUDIO_STREAM_VOICE_CALL;
|
||||
}
|
||||
|
||||
public enum UsageEnumType {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_ALARM;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_ASSISTANCE_SONIFICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_ASSISTANT;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_CALL_ASSISTANT;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_GAME;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_MEDIA;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION_EVENT;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_UNKNOWN;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_VIRTUAL_SOURCE;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_VOICE_COMMUNICATION;
|
||||
enum_constant public static final audio.policy.engine.configuration.UsageEnumType AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING;
|
||||
}
|
||||
|
||||
public class UsageType {
|
||||
ctor public UsageType();
|
||||
method @Nullable public audio.policy.engine.configuration.UsageEnumType getValue();
|
||||
method public void setValue(@Nullable audio.policy.engine.configuration.UsageEnumType);
|
||||
}
|
||||
|
||||
public class ValueType {
|
||||
ctor public ValueType();
|
||||
method @Nullable public String getAndroid_type();
|
||||
method @Nullable public String getLiteral();
|
||||
method @Nullable public long getNumerical();
|
||||
method public void setAndroid_type(@Nullable String);
|
||||
method public void setLiteral(@Nullable String);
|
||||
method public void setNumerical(@Nullable long);
|
||||
}
|
||||
|
||||
public class ValuesType {
|
||||
ctor public ValuesType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.ValueType> getValue();
|
||||
}
|
||||
|
||||
public enum Version {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final audio.policy.engine.configuration.Version _1_0;
|
||||
}
|
||||
|
||||
public class Volume {
|
||||
ctor public Volume();
|
||||
method @Nullable public audio.policy.engine.configuration.DeviceCategory getDeviceCategory();
|
||||
method @Nullable public java.util.List<java.lang.String> getPoint();
|
||||
method @Nullable public String getRef();
|
||||
method public void setDeviceCategory(@Nullable audio.policy.engine.configuration.DeviceCategory);
|
||||
method public void setRef(@Nullable String);
|
||||
}
|
||||
|
||||
public class VolumeGroupsType {
|
||||
ctor public VolumeGroupsType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.VolumeGroupsType.VolumeGroup> getVolumeGroup();
|
||||
}
|
||||
|
||||
public static class VolumeGroupsType.VolumeGroup {
|
||||
ctor public VolumeGroupsType.VolumeGroup();
|
||||
method @Nullable public int getIndexMax();
|
||||
method @Nullable public int getIndexMin();
|
||||
method @Nullable public String getName();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.Volume> getVolume();
|
||||
method public void setIndexMax(@Nullable int);
|
||||
method public void setIndexMin(@Nullable int);
|
||||
method public void setName(@Nullable String);
|
||||
}
|
||||
|
||||
public class VolumeRef {
|
||||
ctor public VolumeRef();
|
||||
method @Nullable public String getName();
|
||||
method @Nullable public java.util.List<java.lang.String> getPoint();
|
||||
method public void setName(@Nullable String);
|
||||
}
|
||||
|
||||
public class VolumesType {
|
||||
ctor public VolumesType();
|
||||
method @Nullable public java.util.List<audio.policy.engine.configuration.VolumeRef> getReference();
|
||||
}
|
||||
|
||||
public class XmlParser {
|
||||
ctor public XmlParser();
|
||||
method @Nullable public static audio.policy.engine.configuration.Configuration read(@NonNull java.io.InputStream) throws javax.xml.datatype.DatatypeConfigurationException, java.io.IOException, org.xmlpull.v1.XmlPullParserException;
|
||||
method @Nullable public static String readText(@NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
|
||||
method public static void skip(@NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
// Signature format: 2.0
|
||||
@@ -0,0 +1,408 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
|
||||
<xs:schema version="2.0"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<!-- List the config versions supported by audio policy engine. -->
|
||||
<xs:simpleType name="version">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:enumeration value="1.0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="configuration">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ProductStrategies" type="ProductStrategies" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="criterion_types" type="criterionTypesType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="criteria" type="criteriaType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="volumeGroups" type="volumeGroupsType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="volumes" type="volumesType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="attributesRef" type="attributesRef" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="version" type="version" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:key name="volumeCurveNameKey">
|
||||
<xs:selector xpath="volumes/reference"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:key>
|
||||
<xs:keyref name="volumeCurveRef" refer="volumeCurveNameKey">
|
||||
<xs:selector xpath="volumeGroups/volumeGroup"/>
|
||||
<xs:field xpath="@ref"/>
|
||||
</xs:keyref>
|
||||
|
||||
<xs:key name="attributesRefNameKey">
|
||||
<xs:selector xpath="attributesRef/reference"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:key>
|
||||
<xs:keyref name="volumeGroupAttributesRef" refer="attributesRefNameKey">
|
||||
<xs:selector xpath="volumeGroups/volumeGroup/volume"/>
|
||||
<xs:field xpath="@attributesRef"/>
|
||||
</xs:keyref>
|
||||
<xs:keyref name="ProductStrategyAttributesRef" refer="attributesRefNameKey">
|
||||
<xs:selector xpath="ProductStrategies/ProductStrategy/Attributes"/>
|
||||
<xs:field xpath="@attributesRef"/>
|
||||
</xs:keyref>
|
||||
|
||||
<xs:unique name="productStrategyNameUniqueness">
|
||||
<xs:selector xpath="ProductStrategies/ProductStrategy"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
|
||||
<!-- ensure validity of volume group referred in product strategy-->
|
||||
<xs:key name="volumeGroupKey">
|
||||
<xs:selector xpath="volumeGroups/volumeGroup/name"/>
|
||||
<xs:field xpath="."/>
|
||||
</xs:key>
|
||||
<xs:keyref name="volumeGroupRef" refer="volumeGroupKey">
|
||||
<xs:selector xpath="ProductStrategies/ProductStrategy/AttributesGroup"/>
|
||||
<xs:field xpath="@volumeGroup"/>
|
||||
</xs:keyref>
|
||||
|
||||
<xs:unique name="volumeTargetUniqueness">
|
||||
<xs:selector xpath="volumeGroups/volumeGroup"/>
|
||||
<xs:field xpath="@name"/>
|
||||
<xs:field xpath="@deviceCategory"/>
|
||||
</xs:unique>
|
||||
|
||||
<!-- ensure validity of criterion type referred in criterion-->
|
||||
<xs:key name="criterionTypeKey">
|
||||
<xs:selector xpath="criterion_types/criterion_type"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:key>
|
||||
<xs:keyref name="criterionTypeKeyRef" refer="criterionTypeKey">
|
||||
<xs:selector xpath="criteria/criterion"/>
|
||||
<xs:field xpath="@type"/>
|
||||
</xs:keyref>
|
||||
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="ProductStrategies">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="ProductStrategy" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AttributesGroup" type="AttributesGroup" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="AttributesGroup">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="Attributes" type="AttributesType" minOccurs="1" maxOccurs="unbounded"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="ContentType" type="ContentTypeType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Usage" type="UsageType" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="Source" type="SourceType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Flags" type="FlagsType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Bundle" type="BundleType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="streamType" type="stream" use="optional"/>
|
||||
<xs:attribute name="volumeGroup" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="volumeGroupsType">
|
||||
<xs:sequence>
|
||||
<xs:element name="volumeGroup" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:token"/>
|
||||
<xs:element name="indexMin" type="xs:int" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="indexMax" type="xs:int" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="volume" type="volume" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="volumeAttributesUniqueness">
|
||||
<xs:selector xpath="volume"/>
|
||||
<xs:field xpath="deviceCategory"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="volumesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="reference" type="volumeRef" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="attributesRef">
|
||||
<xs:sequence>
|
||||
<xs:element name="reference" type="attributesRefType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="criteriaType">
|
||||
<xs:sequence>
|
||||
<xs:element name="criterion" type="criterionType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="criterionType">
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="type" type="xs:string" use="required"/>
|
||||
<xs:attribute name="default" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="criterionTypesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="criterion_type" type="criterionTypeType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="criterionTypeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="values" type="valuesType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:token" use="required"/>
|
||||
<xs:attribute name="type" type="pfwCriterionTypeEnum" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="valuesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="value" type="valueType" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="valueType">
|
||||
<xs:attribute name="literal" type="xs:string" use="required"/>
|
||||
<xs:attribute name="numerical" type="xs:long" use="required"/>
|
||||
<xs:attribute name="android_type" type="longDecimalOrHexType" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="longDecimalOrHexType">
|
||||
<xs:union memberTypes="xs:long longHexType" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="longHexType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="0x[0-9A-Fa-f]{1,16}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="attributesRefType">
|
||||
<xs:sequence>
|
||||
<xs:element name="Attributes" type="AttributesType" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:token" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="AttributesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ContentType" type="ContentTypeType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Usage" type="UsageType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Source" type="SourceType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Flags" type="FlagsType" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Bundle" type="BundleType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="attributesRef" type="xs:token" use="optional"/>
|
||||
<!-- with xsd 1.1, it is impossible to make choice on either attributes or element...-->
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ContentTypeType">
|
||||
<xs:attribute name="value" type="contentType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="UsageType">
|
||||
<xs:attribute name="value" type="usageEnumType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SourceType">
|
||||
<xs:attribute name="value" type="sourceEnumType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FlagsType">
|
||||
<xs:attribute name="value" type="flagsEnumType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BundleType">
|
||||
<xs:attribute name="key" type="xs:string" use="required"/>
|
||||
<xs:attribute name="value" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="volume">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
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 deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-9600</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
|
||||
It may also reference a reference/@name to avoid duplicating curves.
|
||||
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
|
||||
<point>0,-9600</point>
|
||||
<point>100,0</point>
|
||||
</reference>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="point" type="volumePoint" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="deviceCategory" type="deviceCategory"/>
|
||||
<xs:attribute name="ref" type="xs:token" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="volumeRef">
|
||||
<xs:sequence>
|
||||
<xs:element name="point" type="volumePoint" minOccurs="2" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:token" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="volumePoint">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
Comma separated pair of number.
|
||||
The fist one is the framework level (between 0 and 100).
|
||||
The second one is the volume to send to the HAL.
|
||||
The framework will interpolate volumes not specified.
|
||||
Their MUST be at least 2 points specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="([0-9]{1,2}|100),-?[0-9]+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
|
||||
<xs:simpleType name="streamsCsv">
|
||||
<xs:list>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="stream">
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:list>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Enum values of audio_stream_type_t in audio-base.h
|
||||
TODO: avoid manual sync. -->
|
||||
<xs:simpleType name="stream">
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<!--xs:pattern value="\c+(,\c+)*"/-->
|
||||
<xs:enumeration value="AUDIO_STREAM_DEFAULT"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_VOICE_CALL"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_SYSTEM"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_RING"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_MUSIC"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ALARM"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_NOTIFICATION"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_BLUETOOTH_SCO"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ENFORCED_AUDIBLE"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_DTMF"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_TTS"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ACCESSIBILITY"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ASSISTANT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="deviceCategory">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEVICE_CATEGORY_HEADSET"/>
|
||||
<xs:enumeration value="DEVICE_CATEGORY_SPEAKER"/>
|
||||
<xs:enumeration value="DEVICE_CATEGORY_EARPIECE"/>
|
||||
<xs:enumeration value="DEVICE_CATEGORY_EXT_MEDIA"/>
|
||||
<xs:enumeration value="DEVICE_CATEGORY_HEARING_AID"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="contentType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUDIO_CONTENT_TYPE_UNKNOWN"/>
|
||||
<xs:enumeration value="AUDIO_CONTENT_TYPE_SPEECH"/>
|
||||
<xs:enumeration value="AUDIO_CONTENT_TYPE_MUSIC"/>
|
||||
<xs:enumeration value="AUDIO_CONTENT_TYPE_MOVIE"/>
|
||||
<xs:enumeration value="AUDIO_CONTENT_TYPE_SONIFICATION"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="usageEnumType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUDIO_USAGE_UNKNOWN"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_MEDIA"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_VOICE_COMMUNICATION"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_ALARM"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE"/>
|
||||
<!-- Note: the following 3 values were deprecated in Android T (13) SDK -->
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_NOTIFICATION_EVENT"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_ASSISTANCE_SONIFICATION"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_GAME"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_VIRTUAL_SOURCE"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_ASSISTANT"/>
|
||||
<xs:enumeration value="AUDIO_USAGE_CALL_ASSISTANT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flagsEnumType">
|
||||
<xs:list>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="flagType">
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:list>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flagType">
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="AUDIO_FLAG_NONE"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_AUDIBILITY_ENFORCED"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_SECURE"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_SCO"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_BEACON"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_HW_AV_SYNC"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_HW_HOTWORD"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_BYPASS_INTERRUPTION_POLICY"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_BYPASS_MUTE"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_LOW_LATENCY"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_DEEP_BUFFER"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_NO_MEDIA_PROJECTION"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_MUTE_HAPTIC"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_NO_SYSTEM_CAPTURE"/>
|
||||
<xs:enumeration value="AUDIO_FLAG_CAPTURE_PRIVATE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="sourceEnumType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUDIO_SOURCE_DEFAULT"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_MIC"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_UPLINK"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_DOWNLINK"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_CALL"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_CAMCORDER"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_RECOGNITION"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_COMMUNICATION"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_REMOTE_SUBMIX"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_UNPROCESSED"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_VOICE_PERFORMANCE"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_ECHO_REFERENCE"/>
|
||||
<xs:enumeration value="AUDIO_SOURCE_FM_TUNER"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="pfwCriterionTypeEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="inclusive"/>
|
||||
<xs:enumeration value="exclusive"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,323 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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="1.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="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.
|
||||
"gain": constraints applied to the millibel values:
|
||||
- maxValueMB >= minValueMB
|
||||
- defaultValueMB >= minValueMB && defaultValueMB <= maxValueMB
|
||||
- (maxValueMB - minValueMB) % stepValueMB == 0
|
||||
- (defaultValueMB - minValueMB) % stepValueMB == 0
|
||||
“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>
|
||||
<module name="primary" halVersion="3.0">
|
||||
<attachedDevices>
|
||||
<item>Media Bus</item>
|
||||
<item>Sys Notification Bus</item>
|
||||
<item>Nav Guidance Bus</item>
|
||||
<item>Phone Bus</item>
|
||||
<item>Front Passenger Bus</item>
|
||||
<item>Rear Seat Bus</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Media Bus</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="media" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="sys_notification" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="nav_guidance" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="phone" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="front_passenger" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="rear_seat" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW|AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_24_BIT_PACKED"
|
||||
samplingRates="44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,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="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,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_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Media Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS00_MEDIA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Sys Notification Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS01_SYS_NOTIFICATION">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Nav Guidance Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS02_NAV_GUIDANCE">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Phone Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS03_PHONE">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Front Passenger Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS08_FRONT_PASSENGER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Rear Seat Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
|
||||
address="BUS16_REAR_SEAT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<gains>
|
||||
<gain name="" mode="AUDIO_GAIN_MODE_JOINT"
|
||||
minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
|
||||
</gains>
|
||||
</devicePort>
|
||||
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,88200,96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Media Bus"
|
||||
sources="media"/>
|
||||
<route type="mix" sink="Sys Notification Bus"
|
||||
sources="sys_notification"/>
|
||||
<route type="mix" sink="Nav Guidance Bus"
|
||||
sources="nav_guidance"/>
|
||||
<route type="mix" sink="Phone Bus"
|
||||
sources="phone"/>
|
||||
<route type="mix" sink="Front Passenger Bus"
|
||||
sources="front_passenger"/>
|
||||
<route type="mix" sink="Rear Seat Bus"
|
||||
sources="rear_seat"/>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- A2DP Input 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>
|
||||
@@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution.
|
||||
*/
|
||||
-->
|
||||
<!-- Copyright (C) 2018 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Defines the audio configuration in a car, including
|
||||
- Audio zones
|
||||
- Display to audio zone mappings
|
||||
- Context to audio bus mappings
|
||||
- Volume groups
|
||||
in the car environment.
|
||||
-->
|
||||
<carAudioConfiguration version="2">
|
||||
<zones>
|
||||
<zone name="primary zone" isPrimary="true" occupantZoneId="0">
|
||||
<volumeGroups>
|
||||
<group>
|
||||
<device address="BUS00_MEDIA">
|
||||
<context context="music"/>
|
||||
</device>
|
||||
</group>
|
||||
<group>
|
||||
<device address="BUS01_SYS_NOTIFICATION">
|
||||
<context context="alarm"/>
|
||||
<context context="notification"/>
|
||||
<context context="system_sound"/>
|
||||
<context context="emergency"/>
|
||||
<context context="safety"/>
|
||||
<context context="vehicle_status"/>
|
||||
<context context="announcement"/>
|
||||
</device>
|
||||
</group>
|
||||
<group>
|
||||
<device address="BUS02_NAV_GUIDANCE">
|
||||
<context context="navigation"/>
|
||||
<context context="voice_command"/>
|
||||
</device>
|
||||
</group>
|
||||
<group>
|
||||
<device address="BUS03_PHONE">
|
||||
<context context="call"/>
|
||||
<context context="call_ring"/>
|
||||
</device>
|
||||
</group>
|
||||
</volumeGroups>
|
||||
<displays>
|
||||
<display port="0"/>
|
||||
</displays>
|
||||
<!-- to specify displays associated with this audio zone, use the following tags
|
||||
<displays>
|
||||
<display port="1"/>
|
||||
<display port="2"/>
|
||||
</displays>
|
||||
where port is the physical port of the display (See DisplayAddress.Phyisical)
|
||||
-->
|
||||
</zone>
|
||||
<zone name="front passenger zone" audioZoneId="1">
|
||||
<volumeGroups>
|
||||
<group>
|
||||
<device address="BUS08_FRONT_PASSENGER">
|
||||
<context context="music"/>
|
||||
<context context="navigation"/>
|
||||
<context context="voice_command"/>
|
||||
<context context="call_ring"/>
|
||||
<context context="call"/>
|
||||
<context context="alarm"/>
|
||||
<context context="notification"/>
|
||||
<context context="system_sound"/>
|
||||
<context context="emergency"/>
|
||||
<context context="safety"/>
|
||||
<context context="vehicle_status"/>
|
||||
<context context="announcement"/>
|
||||
</device>
|
||||
</group>
|
||||
</volumeGroups>
|
||||
<displays>
|
||||
<display port="1"/>
|
||||
</displays>
|
||||
</zone>
|
||||
<zone name="rear seat zone" audioZoneId="2">
|
||||
<volumeGroups>
|
||||
<group>
|
||||
<device address="BUS16_REAR_SEAT">
|
||||
<context context="music"/>
|
||||
<context context="navigation"/>
|
||||
<context context="voice_command"/>
|
||||
<context context="call_ring"/>
|
||||
<context context="call"/>
|
||||
<context context="alarm"/>
|
||||
<context context="notification"/>
|
||||
<context context="system_sound"/>
|
||||
<context context="emergency"/>
|
||||
<context context="safety"/>
|
||||
<context context="vehicle_status"/>
|
||||
<context context="announcement"/>
|
||||
</device>
|
||||
</group>
|
||||
</volumeGroups>
|
||||
<displays>
|
||||
<display port="2"/>
|
||||
</displays>
|
||||
</zone>
|
||||
</zones>
|
||||
</carAudioConfiguration>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
** Not a Contribution.
|
||||
*/
|
||||
/*
|
||||
** Copyright 2009, 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<!-- Car uses hardware amplifier for volume. -->
|
||||
<bool name="config_useFixedVolume">true</bool>
|
||||
<!--
|
||||
Handle volume keys directly in CarAudioService without passing them to the foreground app
|
||||
-->
|
||||
<bool name="config_handleVolumeKeysInWindowManager">true</bool>
|
||||
</resources>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
** Not a Contribution.
|
||||
*/
|
||||
/*
|
||||
** Copyright 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<!--
|
||||
Overlay resources to configure car service based on each OEM's preference.
|
||||
See also packages/services/Car/service/res/values/config.xml
|
||||
-->
|
||||
<resources>
|
||||
<!-- Configuration to enable usage of dynamic audio routing. If this is set to false,
|
||||
dynamic audio routing is disabled and audio works in legacy mode. It may be useful
|
||||
during initial development where audio hal does not support bus based addressing yet. -->
|
||||
<bool name="audioUseDynamicRouting">true</bool>
|
||||
</resources>
|
||||
@@ -0,0 +1,182 @@
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
ifneq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO),true)
|
||||
#QMAA Mode is enabled
|
||||
TARGET_IS_HEADLESS := true
|
||||
endif
|
||||
endif
|
||||
|
||||
#Packages that should not be installed in QMAA are enabled here
|
||||
ifneq ($(TARGET_IS_HEADLESS),true)
|
||||
|
||||
#AGM
|
||||
AUDIO_AGM := libagmclient
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-impl
|
||||
#not needed for kalama products
|
||||
#AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
AUDIO_AGM += agmcompresscap
|
||||
AUDIO_AGM += agmvoiceui
|
||||
AUDIO_AGM += agmhostless
|
||||
|
||||
#PAL Service
|
||||
AUDIO_PAL += libpalclient
|
||||
AUDIO_PAL += vendor.qti.hardware.pal@1.0-impl
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += lib_bt_ble
|
||||
AUDIO_PAL += catf
|
||||
AUDIO_PAL += PalTest
|
||||
AUDIO_PAL += libaudiochargerlistener
|
||||
AUDIO_PAL += libhfp_pal
|
||||
|
||||
# C2 Audio
|
||||
AUDIO_C2 := libqc2audio_base
|
||||
AUDIO_C2 += libqc2audio_utils
|
||||
AUDIO_C2 += libqc2audio_platform
|
||||
AUDIO_C2 += libqc2audio_core
|
||||
AUDIO_C2 += libqc2audio_basecodec
|
||||
AUDIO_C2 += libqc2audio_hooks
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec_data_common
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec_data_common
|
||||
AUDIO_C2 += vendor.qti.media.c2audio@1.0-service
|
||||
AUDIO_C2 += qc2audio_test
|
||||
AUDIO_C2 += libEvrcSwCodec
|
||||
AUDIO_C2 += libQcelp13SwCodec
|
||||
AUDIO_C2 += c2audio.vendor.base-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.base-arm64.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm64.policy
|
||||
|
||||
AUDIO_TEST := mcs_test
|
||||
AUDIO_TEST += ar_util_in_test_example
|
||||
AUDIO_TEST += osal_in_test_example
|
||||
|
||||
|
||||
#AUDIO_MODULES := audio.a2dp.default
|
||||
AUDIO_MODULES := audio.usb.default
|
||||
AUDIO_MODULES += audio.r_submix.default
|
||||
#AUDIO_MODULES += audio.primary.kalama
|
||||
AUDIO_MODULES += ftm_test_config
|
||||
AUDIO_MODULES += ftm_test_config_kalama-qrd-snd-card
|
||||
AUDIO_MODULES += ftm_test_config_kalama-grd-snd-card
|
||||
AUDIO_MODULES += audioadsprpcd
|
||||
AUDIO_MODULES += android.hardware.audio.service_64
|
||||
AUDIO_MODULES += MTP_acdb_cal.acdb
|
||||
AUDIO_MODULES += MTP_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += CDP_acdb_cal.acdb
|
||||
AUDIO_MODULES += CDP_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += QRD_acdb_cal.acdb
|
||||
AUDIO_MODULES += QRD_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += IDP_UPD_acdb_cal.acdb
|
||||
AUDIO_MODULES += IDP_UPD_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += GRD_acdb_cal.acdb
|
||||
AUDIO_MODULES += GRD_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.10.pmd
|
||||
AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.36_enpu2_comp.pmd
|
||||
AUDIO_MODULES += fai__2.0.0_0.1__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__2.7.2_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__2.7.20_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += fai__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__3.0.0_0.0__eai_2.10_enpu3.pmd
|
||||
AUDIO_MODULES += ffv__5.0.1_0.1__eai_2.10_enpu3.pmd
|
||||
AUDIO_MODULES += libfmpal
|
||||
AUDIO_MODULES += event.eai
|
||||
AUDIO_MODULES += music.eai
|
||||
AUDIO_MODULES += speech.eai
|
||||
AUDIO_MODULES += libqtigefar
|
||||
AUDIO_MODULES += audiodsd2pcmtest
|
||||
AUDIO_MODULES += mm-audio-ftm
|
||||
AUDIO_MODULES += libmcs
|
||||
AUDIO_MODULES += libquasar
|
||||
AUDIO_MODULES += sensors.dynamic_sensor_hal
|
||||
|
||||
ifeq ($(PRODUCT_ENABLE_QESDK),true)
|
||||
AUDIO_MODULES += libvui_dmgr
|
||||
AUDIO_MODULES += libvui_dmgr_client
|
||||
AUDIO_MODULES += qsap_voiceui
|
||||
AUDIO_MODULES += qsap_voiceui.rc
|
||||
AUDIO_MODULES += qsap_voiceui.policy
|
||||
endif
|
||||
|
||||
AUDIO_MODULES += $(AUDIO_AGM)
|
||||
AUDIO_MODULES += $(AUDIO_PAL)
|
||||
AUDIO_MODULES += $(AUDIO_C2)
|
||||
AUDIO_MODULES += $(AUDIO_TEST)
|
||||
|
||||
# for HIDL related packages
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@2.0-service_64 \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.soundtrigger@2.1-impl \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@4.0-util \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@4.0-impl
|
||||
|
||||
# enable audio hidl hal 5.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.common@5.0-util \
|
||||
android.hardware.audio@5.0-impl \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.audio.effect@5.0-impl
|
||||
|
||||
# enable audio hidl hal 6.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@6.0 \
|
||||
android.hardware.audio.common@6.0 \
|
||||
android.hardware.audio.common@6.0-util \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0 \
|
||||
android.hardware.audio.effect@6.0-impl
|
||||
|
||||
# enable audio hidl hal 7.0
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@7.0 \
|
||||
android.hardware.audio.common@7.0 \
|
||||
android.hardware.audio.common@7.0-util \
|
||||
android.hardware.audio@7.0-impl \
|
||||
android.hardware.audio.effect@7.0 \
|
||||
android.hardware.audio.effect@7.0-impl
|
||||
|
||||
# enable audio hidl hal 7.1
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.audio@7.1-impl
|
||||
|
||||
# enable sound trigger hidl hal 2.2
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
|
||||
# enable sound trigger hidl hal 2.3
|
||||
AUDIO_MODULES += \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
|
||||
# enable Listen Sound Model hidl 1.0
|
||||
AUDIO_MODULES += \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0 \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0-impl
|
||||
|
||||
# AIDL Audio modules
|
||||
|
||||
AUDIO_MODULES += \
|
||||
audiohalservice.qti \
|
||||
libaudiocorehal.qti \
|
||||
libaudioeffecthal.qti
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,12 @@
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/kalama/audio-modules.mk
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/audio-generic-modules.mk
|
||||
include vendor/qcom/opensource/audio-kernel/audio_kernel_modules.mk
|
||||
|
||||
|
||||
.PHONY: audio_tp audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp: audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp_hal: $(AUDIO_MODULES) $(AUDIO_GENERIC_MODULES)
|
||||
|
||||
audio_tp_dlkm: $(AUDIO_KERNEL_MODULES)
|
||||
@@ -0,0 +1,360 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2018-2019, 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.
|
||||
|
||||
* Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
*
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted (subject to the limitations in the
|
||||
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
|
||||
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="quasar" path="libquasar.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="quasar" library="quasar" uuid="71d0e2ee-e44d-483d-a809-09e75ee55ecd"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundleaidl.so"/>
|
||||
<library name="reverb" path="libreverbaidl.so"/>
|
||||
<library name="downmix" path="libdownmixaidl.so"/>
|
||||
<library name="loudness_enhancer" path="libloudnessenhanceraidl.so"/>
|
||||
<library name="dynamics_processing" path="libdynamicsprocessingaidl.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizeraidl.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="quasar" path="libquasar.so"/>
|
||||
</libraries>
|
||||
|
||||
<effects>
|
||||
<effectProxy name="bassboost" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
|
||||
<effectProxy name="virtualizer" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="equalizer" 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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="visualizer" 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"/>
|
||||
</effectProxy>
|
||||
<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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="quasar" library="quasar" uuid="71d0e2ee-e44d-483d-a809-09e75ee55ecd"/>
|
||||
</effects>
|
||||
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,261 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
<modules>
|
||||
<module name="default">
|
||||
<!-- Global configuration Decalaration -->
|
||||
<globalConfiguration speaker_drc_enabled="true" supportedAudioModes="NORMAL RINGTONE IN_CALL IN_COMMUNICATION CALL_SCREEN"/>
|
||||
<attachedDevices>
|
||||
<item>earpiece</item>
|
||||
<item>speaker</item>
|
||||
<item>telephony_tx_device_out</item>
|
||||
<item>built_in_mic</item>
|
||||
<item>built_in_back_mic</item>
|
||||
<item>fm_tuner_mic</item>
|
||||
<item>telephony_rx_mic</item>
|
||||
<item>echo_reference_mic</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<!-- based on role, mixport flags are identified as either input flags or
|
||||
output flags-->
|
||||
|
||||
<!-- start of source mixports-->
|
||||
<mixPort name="primary_out" role="source" flags="FAST PRIMARY">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="raw_out" role="source" flags="FAST RAW">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="haptics_out" role="source">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO_HAPTIC_A" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer_out" role="source" flags="DEEP_BUFFER">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_out" role="source" flags="DIRECT MMAP_NOIRQ">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="hifi_out" role="source" />
|
||||
<mixPort name="spatial_out" role="source" flags="SPATIALIZER">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm_out" role="source" flags="DIRECT">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="compress_offload_out" role="source" recommendedMuteDurationMs="190" flags="DIRECT COMPRESS_OFFLOAD NON_BLOCKING GAPLESS_OFFLOAD">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mpeg" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/flac" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/alac" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/x-ape" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.05" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.29" />
|
||||
<profile samplingRates="32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1" formatType="NON_PCM" encoding="audio/vnd.dts" />
|
||||
<profile samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/vnd.dts.hd" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma.pro" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/vorbis" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.02" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.05" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.29" />
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx_source" role="source">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx_source" role="source" flags="DIRECT VOIP_RX">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source" flags="INCALL_MUSIC">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<!-- end of source mixports-->
|
||||
|
||||
<!-- start of sink mixports-->
|
||||
<mixPort name="primary_in" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="compress_in" role="sink" flags="DIRECT">
|
||||
<profile name="compress-capture-AAC-LC" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
</mixPort>
|
||||
<mixPort name="fast_in" role="sink" flags="FAST">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="quad_mic_in" role="sink">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_3POINT1 LAYOUT_2POINT0POINT2" channelMasks="INDEX_MASK_4" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx_sink" role="sink" flags="VOIP_TX">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound_in" role="sink">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK LAYOUT_5POINT1" channelMasks="INDEX_MASK_3 INDEX_MASK_4 INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="FLOAT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="record_24_in" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3 INDEX_MASK_4" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3 INDEX_MASK_4" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3 INDEX_MASK_4" formatType="PCM" pcmType="FLOAT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx_sink" role="sink">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_in" role="sink" flags="MMAP_NOIRQ">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
</mixPort>
|
||||
<mixPort name="hifi_in" role="sink" />
|
||||
<!-- end of sink mixports-->
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- start of sink DEVICE PORT -->
|
||||
<devicePort tagName="earpiece" role="sink" attached="true" deviceType="OUT_SPEAKER_EARPIECE">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="speaker" role="sink" attached="true" deviceType="OUT_SPEAKER">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headset" deviceType="OUT_HEADSET" role="sink" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headphones" deviceType="OUT_HEADPHONE" role="sink" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="line_device_out" deviceType="OUT_DEVICE" role="sink" attached="true" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_out" deviceType="OUT_DEVICE" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_headset" deviceType="OUT_HEADSET" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_car_kit" deviceType="OUT_CARKIT" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="telephony_tx_device_out" deviceType="OUT_TELEPHONY_TX" role="sink" attached="true">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of below later w.r.t channel layouts -->
|
||||
<devicePort tagName="hdmi_device_out" deviceType="OUT_DEVICE" connection="hdmi" role="sink">
|
||||
<profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of below later w.r.t channel layouts -->
|
||||
<devicePort tagName="proxy_device_out" deviceType="OUT_AFE_PROXY" role="sink" attached="true">
|
||||
<profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="fm_device_out" deviceType="OUT_FM" role="sink" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_out" deviceType="OUT_DEVICE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_headphones" deviceType="OUT_HEADPHONE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_speaker" deviceType="OUT_SPEAKER" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_ble_headset" deviceType="OUT_HEADSET" connection="bt-le" role="sink" encodings="audio/x-lc3 audio/vnd.qcom.aptx.adaptive.r3">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_ble_speaker" deviceType="OUT_SPEAKER" connection="bt-le" role="sink" encodings="audio/x-lc3 audio/vnd.qcom.aptx.adaptive.r3">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_ble_broadcast" deviceType="OUT_BROADCAST" connection="bt-le" role="sink" encodings="audio/x-lc3">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_device_out" deviceType="OUT_DEVICE" connection="usb" role="sink">
|
||||
<profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_headset" deviceType="OUT_HEADSET" connection="usb" role="sink">
|
||||
<profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- end of sink DEVICE PORT -->
|
||||
|
||||
<!-- start of source DEVICE PORT -->
|
||||
<devicePort tagName="built_in_mic" deviceType="IN_MICROPHONE" role="source" attached="true">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<!-- To support compress offload capture such that client can query -->
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
</devicePort>
|
||||
<devicePort tagName="built_in_back_mic" deviceType="IN_MICROPHONE_BACK" role="source" attached="true">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="fm_tuner_mic" deviceType="IN_FM_TUNER" role="source" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headset_mic" deviceType="IN_HEADSET" connection="analog" role="source">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_headset_mic" deviceType="IN_HEADSET" connection="bt-sco" role="source">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="telephony_rx_mic" deviceType="IN_TELEPHONY_RX" role="source" attached="true">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of the below device port profile -->
|
||||
<devicePort tagName="usb_mic" deviceType="IN_DEVICE" connection="usb" role="source" >
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of the below device port profile -->
|
||||
<devicePort tagName="usb_headset_mic" deviceType="IN_HEADSET" connection="usb" role="source" >
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_mic" deviceType="IN_DEVICE" connection="bt-a2dp" role="source" encodings="audio/x-lc3">
|
||||
<profile samplingRates="44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_le_mic" deviceType="IN_HEADSET" connection="bt-le" role="source" encodings="audio/x-lc3">
|
||||
<profile samplingRates="8000 16000 24000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="echo_reference_mic" deviceType="IN_ECHO_REFERENCE" role="source" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- end of source DEVICE PORT -->
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="earpiece" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="speaker" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="wired_headset" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="wired_headphones" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="line_device_out" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="hdmi_device_out" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out" />
|
||||
<route type="mix" sink="proxy_device_out" sources="primary_out,deep_buffer_out,direct_pcm_out,compress_offload_out,haptics_out" />
|
||||
<route type="mix" sink="fm_device_out" sources="primary_out" />
|
||||
<route type="mix" sink="bt_sco_out" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="bt_sco_headset" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="bt_ble_headset" sources="primary_out,raw_out,mmap_no_irq_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="bt_sco_car_kit" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="usb_device_out" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,hifi_out,haptics_out" />
|
||||
<route type="mix" sink="usb_headset" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,hifi_out,haptics_out" />
|
||||
<route type="mix" sink="telephony_tx_device_out" sources="voice_tx_source,incall_music_uplink" />
|
||||
<route type="mix" sink="voice_rx_sink" sources="telephony_rx_mic" />
|
||||
<route type="mix" sink="primary_in" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,fm_tuner_mic,telephony_rx_mic,bt_a2dp_mic,echo_reference_mic,bt_le_mic" />
|
||||
<route type="mix" sink="compress_in" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,wired_headset_mic,usb_mic,usb_headset_mic,bt_le_mic" />
|
||||
<route type="mix" sink="usb_surround_sound_in" sources="usb_mic,usb_headset_mic" />
|
||||
<route type="mix" sink="fast_in" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic" />
|
||||
<route type="mix" sink="quad_mic_in" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic" />
|
||||
<route type="mix" sink="voip_tx_sink" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic,bt_le_mic" />
|
||||
<route type="mix" sink="record_24_in" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_a2dp_mic,bt_le_mic" />
|
||||
<route type="mix" sink="mmap_no_irq_in" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic" />
|
||||
<route type="mix" sink="bt_a2dp_out" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="bt_a2dp_headphones" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out,spatial_out" />
|
||||
<route type="mix" sink="bt_a2dp_speaker" sources="primary_out,raw_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="bt_ble_speaker" sources="primary_out,raw_out,mmap_no_irq_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_rx_source,haptics_out" />
|
||||
<route type="mix" sink="bt_ble_broadcast" sources="primary_out,deep_buffer_out,direct_pcm_out,compress_offload_out" />
|
||||
<route type="mix" sink="hifi_in" sources="usb_mic,usb_headset_mic" />
|
||||
</routes>
|
||||
</module>
|
||||
</modules>
|
||||
@@ -0,0 +1,549 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
|
||||
<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="true" 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="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
<item>Echo Reference</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source" recommendedMuteDurationMs="63"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="haptics output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="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"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="spatial output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source" recommendedMuteDurationMs="190"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_VORBIS"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="compress-input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_DIRECT" >
|
||||
<profile name="compress-capture-AAC-LC" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4 AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
|
||||
</mixPort>
|
||||
<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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_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="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT BLE Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LC3 VX_AUDIO_FORMAT_APTX_ADAPTIVE_QLEA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT BLE Speaker" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LC3 VX_AUDIO_FORMAT_APTX_ADAPTIVE_QLEA">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT BLE Broadcast" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
<!-- To support compress offload capture such that client can query -->
|
||||
<profile name="compress-capture-AAC-LC" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</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="A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Echo Reference" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BLE In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 24000 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,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output,spatial output"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output,spatial output"/>
|
||||
<route type="mix" sink="BT BLE Out"
|
||||
sources="primary output,raw,mmap_no_irq_out,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output,spatial output"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output,spatial output"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,A2DP In,Echo Reference,BLE In"/>
|
||||
<route type="mix" sink="compress-input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Wired Headset Mic,USB Device In,USB Headset In,BLE In"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic,BLE In"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,A2DP In,BLE In"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output,spatial output"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output,spatial output"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="BT BLE Speaker"
|
||||
sources="primary output,raw,mmap_no_irq_out,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT BLE Broadcast"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<!-- <module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module> -->
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
514
qcom/opensource/audio-hal/primary-hal/configs/kalama/kalama.mk
Normal file
514
qcom/opensource/audio-hal/primary-hal/configs/kalama/kalama.mk
Normal file
@@ -0,0 +1,514 @@
|
||||
# Audio product definitions
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/kalama/audio-modules.mk
|
||||
PRODUCT_PACKAGES += $(AUDIO_MODULES)
|
||||
|
||||
#BOARD_USES_GENERIC_AUDIO := true
|
||||
#
|
||||
#AUDIO_FEATURE_FLAGS
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(AUDIO_USE_STUB_HAL), true)
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
TARGET_USES_AOSP_FOR_AUDIO := false
|
||||
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
|
||||
AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_MPEGH_SW_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
|
||||
AUDIO_FEATURE_ENABLED_AGM_HIDL := true
|
||||
AUDIO_FEATURE_ENABLED_LSM_HIDL := true
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := false
|
||||
MM_AUDIO_ENABLED_SAFX := false
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
||||
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_AHAL_EXT := false
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
DOLBY_ENABLE := false
|
||||
AUDIO_FEATURE_ENABLED_SPATIAL_AUDIO := true
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_SUPPORTS_GCS := false
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
|
||||
#AUDIO_FEATURE_ENABLED_KEEP_ALIVE := true
|
||||
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := false
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_RAS := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
|
||||
BUILD_AUDIO_TECHPACK_SOURCE := true
|
||||
AUDIO_FEATURE_ENABLED_MCS := true
|
||||
##AUDIO_FEATURE_FLAGS
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
|
||||
ifneq ($(strip $(TARGET_USES_RRO)), true)
|
||||
#Audio Specific device overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay
|
||||
endif
|
||||
PRODUCT_PACKAGES += fai__2.7.5_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__4.8.2_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.3_0.0__3.0.0_0.0__3.1.1.0_0.0__3.2.0_0.0__eai_2.7_enpu_v3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.0.0_0.1__3.0.0_0.0__3.1.0_0.0__3.2.0_0.0__eai_2.7_enpu3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.5_0.0__3.0.0_0.0__3.1.0_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.8_0.0__3.0.0_0.0__3.1.0_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__4.8.3_0.0__3.0.0_0.0__3.1.0_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__3.0.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.5_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.8_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__4.8.4_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.0__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.6.3_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.5_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__2.7.8_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
PRODUCT_PACKAGES += fai__4.8.4_0.0__3.0.0_0.0__3.1.1_0.0__3.2.0_0.1__eai_2.10_enpuv3.pmd
|
||||
|
||||
# Audio configuration xml's related to Kailua
|
||||
QCV_FAMILY_SKUS := kalama
|
||||
DEVICE_SKU := kalama
|
||||
|
||||
CONFIG_PAL_SRC_DIR := vendor/qcom/opensource/pal/configs/kalama
|
||||
CONFIG_HAL_SRC_DIR := vendor/qcom/opensource/audio-hal/primary-hal/configs/kalama
|
||||
CONFIG_SKU_OUT_DIR := $(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.conf:$(CONFIG_SKU_OUT_DIR)/audio_effects.conf \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.xml:$(CONFIG_SKU_OUT_DIR)/audio_effects.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects_config.xml:$(CONFIG_SKU_OUT_DIR)/audio_effects_config.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/microphone_characteristics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/microphone_characteristics.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/card-defs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/card-defs.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_kalama_qrd.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_kalama_qrd.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_kalama_mtp.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_kalama_mtp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_kalama_cdp.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_kalama_cdp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_kalama_cdp_wsa883x.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_kalama_cdp_wsa883x.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/mixer_paths_kalama_grd.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_kalama_grd.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_kalama_qrd.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_kalama_qrd.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_kalama_mtp.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_kalama_mtp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_kalama_cdp.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_kalama_cdp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/usecaseKvManager.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usecaseKvManager.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_kalama_grd.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_kalama_grd.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
|
||||
|
||||
#XML Audio configuration files
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_policy_configuration.xml:$(CONFIG_SKU_OUT_DIR)/audio_policy_configuration.xml
|
||||
|
||||
#Audio configuration xml's common to Kalama family
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(foreach DEVICE_SKU, $(QCV_FAMILY_SKUS), \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)_qssi/audio_policy_configuration.xml)
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_module_config_primary.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_module_config_primary.xml
|
||||
endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/media_codecs_c2_audio.xml:vendor/etc/media_codecs_c2_audio.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm64.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm64.policy
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/vendor_audio_interfaces.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/vendor_audio_interfaces.xml
|
||||
|
||||
|
||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/init.qti.audio.debug.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.audio.debug.sh
|
||||
endif
|
||||
|
||||
# Reduce client buffer size for fast audio output tracks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
af.fast_track_multiplier=1
|
||||
|
||||
# Reduce AF standby time for playback threads (except offload)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.audio.flinger_standbytime_ms=2000
|
||||
|
||||
# Low latency audio buffer size in frames
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_size=192
|
||||
|
||||
# period multiplier for low latency capture tracks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.ull_record_period_multiplier=2
|
||||
|
||||
##Ambisonic Capture
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ambisonic.capture=false \
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.fluencetype=none\
|
||||
persist.vendor.audio.fluence.voicecall=true\
|
||||
persist.vendor.audio.fluence.voicerec=false\
|
||||
persist.vendor.audio.fluence.speaker=true\
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
|
||||
#
|
||||
#snapdragon value add features
|
||||
#
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.ssr=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.fluencetype=none\
|
||||
persist.audio.fluence.voicecall=true\
|
||||
persist.audio.fluence.voicerec=false\
|
||||
persist.audio.fluence.speaker=true
|
||||
|
||||
##speaker protection v3 switch and ADSP AFE API version
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.spv3.enable=true\
|
||||
persist.vendor.audio.avs.afe_api_version=2
|
||||
|
||||
#disable tunnel encoding
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.tunnel.encode=false
|
||||
|
||||
#Disable RAS Feature by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
|
||||
#Buffer size in kbytes for compress offload playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
#Enable offload audio video playback by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.offload.video=true
|
||||
|
||||
#Enable audio track offload by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.track.enable=true
|
||||
|
||||
#Enable music through deep buffer
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.deep_buffer.media=true
|
||||
|
||||
#enable voice path for PCM VoIP by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
#Enable multi channel aac through offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
|
||||
#Enable DS2, Hardbypass feature for Dolby
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.dolby.ds2.enabled=false\
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
|
||||
#Disable Multiple offload sesison
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
|
||||
#Disable Compress passthrough playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.passthrough=false
|
||||
|
||||
#Disable surround sound recording
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
|
||||
#enable dsp gapless mode by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
|
||||
#enable pbe effects
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
|
||||
#parser input buffer size(256kb) in byte stream mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.parser.ip.buffer.size=262144
|
||||
|
||||
#flac sw decoder 24 bit decode capability
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.flac.sw.decoder.24bit=true
|
||||
|
||||
#timeout crash duration set to 20sec before system is ready.
|
||||
#timeout duration updates to default timeout of 5sec once the system is ready.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
|
||||
#split a2dp DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
|
||||
|
||||
# A2DP offload support
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
|
||||
# Disable A2DP offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
|
||||
# A2DP offload DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
|
||||
|
||||
#enable software decoders for ALAC and APE
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
|
||||
#enable software decoder for MPEG-H
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
|
||||
#disable hw aac encoder by default in AR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=false
|
||||
|
||||
#audio becoming noisy intent broadcast delay
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.noisy.broadcast.delay=600
|
||||
|
||||
#offload pausetime out duration to 3 secs to inline with other outputs
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.offload.pstimeout.secs=3
|
||||
|
||||
#Set AudioFlinger client heap size
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.af.client_heap_size_kbyte=7168
|
||||
|
||||
#Set HAL buffer size to samples equal to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.in_period_size=144
|
||||
|
||||
#Set HAL buffer size to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
|
||||
#ADM Buffering size in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
|
||||
#enable headset calibration
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
|
||||
#enable dualmic fluence for voice communication
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.audio.fluence.voicecomm=true
|
||||
|
||||
#enable c2 based encoders/decoders as default NT decoders/encoders
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.c2.preferred=true
|
||||
|
||||
#Enable dmaBuf heap usage by C2 components
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.c2.use_dmabufheaps=1
|
||||
|
||||
#Enable C2 suspend
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.qc2audio.suspend.enabled=true
|
||||
|
||||
#Enable qc2 audio sw flac frame decode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.qc2audio.per_frame.flac.dec.enabled=true
|
||||
|
||||
# compress capture feature related
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.compress_capture.enabled=true \
|
||||
vendor.audio.compress_capture.aac=true
|
||||
# compress capture end
|
||||
|
||||
ifneq ($(GENERIC_ODM_IMAGE),true)
|
||||
$(warning "Enabling codec2.0 SW only for non-generic odm build variant")
|
||||
#Rank OMX SW codecs lower than OMX HW codecs
|
||||
PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0
|
||||
endif
|
||||
endif
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
#enable keytone FR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
|
||||
#enable mirror-link feature
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.enable.mirrorlink=false
|
||||
|
||||
#enable voicecall speaker stereo
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
|
||||
#enable AAC frame ctl for A2DP sinks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
|
||||
#enable VBR frame ctl
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
|
||||
|
||||
#enable dedicated proxy for hearing aid
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ha_proxy.enabled=true
|
||||
|
||||
#add dynamic feature flags here
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.feature.a2dp_offload.enable=true \
|
||||
vendor.audio.feature.afe_proxy.enable=true \
|
||||
vendor.audio.feature.anc_headset.enable=false \
|
||||
vendor.audio.feature.battery_listener.enable=true \
|
||||
vendor.audio.feature.compr_cap.enable=false \
|
||||
vendor.audio.feature.compress_in.enable=true \
|
||||
vendor.audio.feature.compress_meta_data.enable=true \
|
||||
vendor.audio.feature.compr_voip.enable=false \
|
||||
vendor.audio.feature.concurrent_capture.enable=true \
|
||||
vendor.audio.feature.custom_stereo.enable=true \
|
||||
vendor.audio.feature.display_port.enable=true \
|
||||
vendor.audio.feature.dsm_feedback.enable=false \
|
||||
vendor.audio.feature.dynamic_ecns.enable=true \
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false \
|
||||
vendor.audio.feature.external_dsp.enable=false \
|
||||
vendor.audio.feature.external_speaker.enable=false \
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false \
|
||||
vendor.audio.feature.fluence.enable=true \
|
||||
vendor.audio.feature.fm.enable=true \
|
||||
vendor.audio.feature.hdmi_edid.enable=true \
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true \
|
||||
vendor.audio.feature.hfp.enable=true \
|
||||
vendor.audio.feature.hifi_audio.enable=false \
|
||||
vendor.audio.feature.hwdep_cal.enable=false \
|
||||
vendor.audio.feature.incall_music.enable=true \
|
||||
vendor.audio.feature.multi_voice_session.enable=true \
|
||||
vendor.audio.feature.keep_alive.enable=true \
|
||||
vendor.audio.feature.kpi_optimize.enable=true \
|
||||
vendor.audio.feature.maxx_audio.enable=false \
|
||||
vendor.audio.feature.ras.enable=true \
|
||||
vendor.audio.feature.record_play_concurency.enable=false \
|
||||
vendor.audio.feature.src_trkn.enable=true \
|
||||
vendor.audio.feature.spkr_prot.enable=true \
|
||||
vendor.audio.feature.ssrec.enable=true \
|
||||
vendor.audio.feature.usb_offload.enable=true \
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true \
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false \
|
||||
vendor.audio.feature.vbat.enable=true \
|
||||
vendor.audio.feature.wsa.enable=false \
|
||||
vendor.audio.feature.audiozoom.enable=false \
|
||||
vendor.audio.feature.snd_mon.enable=true \
|
||||
vendor.audio.feature.dmabuf.cma.memory.enable=false \
|
||||
vendor.audio.hdr.record.enable=false
|
||||
|
||||
# set dynamic sensor operation timeout in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.dynamic_sensor.setup.timeout.ms=2000
|
||||
|
||||
PRODUCT_PACKAGES_ENG += \
|
||||
VoicePrintTest \
|
||||
VoicePrintDemo
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
AudioSettings
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libaudiodevarb
|
||||
endif
|
||||
|
||||
ifeq ($(call is-vendor-board-platform,QCOM),true)
|
||||
ifeq ($(call is-platform-sdk-version-at-least,28),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libqti_resampler_headers \
|
||||
lib_soundmodel_headers \
|
||||
libqti_vraudio_headers
|
||||
endif
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_3D_AUDIO)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libvr_object_engine \
|
||||
libvr_amb_engine \
|
||||
libhoaeffects_csim
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libadpcmdec
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_GKI := true
|
||||
BUILD_AUDIO_TECHPACK_SOURCE := true
|
||||
AUDIO_FEATURE_HIDL_HAL := false
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2014, 2016-2018, 2021, 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.
|
||||
|
||||
* Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
*
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted (subject to the limitations in the
|
||||
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.-->
|
||||
|
||||
<microphone_characteristics_and_channel_maps>
|
||||
<microphone_characteristics>
|
||||
<microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
|
||||
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_4" type="AUDIO_DEVICE_IN_BACK_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="3" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
</microphone_characteristics>
|
||||
<snd_devices>
|
||||
<input_snd_device>
|
||||
<input_snd_device_mic_mapping>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_SPEAKER_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_VA_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_ULTRASOUND_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_4"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
</input_snd_device_mic_mapping>
|
||||
</input_snd_device>
|
||||
</snd_devices>
|
||||
</microphone_characteristics_and_channel_maps>
|
||||
@@ -0,0 +1,367 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
shoebox {
|
||||
path /vendor/lib/soundfx/libshoebox.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
shoebox {
|
||||
library shoebox
|
||||
uuid 1eab784c-1a36-4b2a-b7fc-e34c44cab89e
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, 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. -->
|
||||
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,443 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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="1.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="true" 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="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="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="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="dynamic"
|
||||
samplingRates="dynamic" channelMasks="dynamic"/>
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_VORBIS"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_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="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</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>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
229
qcom/opensource/audio-hal/primary-hal/configs/kona/card-defs.xml
Normal file
229
qcom/opensource/audio-hal/primary-hal/configs/kona/card-defs.xml
Normal file
@@ -0,0 +1,229 @@
|
||||
<!-- Copyright (c) 2019, 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. -->
|
||||
<defs>
|
||||
<card>
|
||||
<id>100</id>
|
||||
<name>konavirtualsndcard</name>
|
||||
|
||||
<pcm-device>
|
||||
<id>100</id>
|
||||
<name>PCM100</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>101</id>
|
||||
<name>PCM101</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>102</id>
|
||||
<name>PCM102</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>103</id>
|
||||
<name>PCM103</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>104</id>
|
||||
<name>PCM104</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<compress-device>
|
||||
<id>105</id>
|
||||
<name>COMPRESS105</name>
|
||||
<compress_plugin>
|
||||
<so-name>libagm_compress_plugin.so</so-name>
|
||||
</compress_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</compress-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>106</id>
|
||||
<name>VOICEMMODE1p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>107</id>
|
||||
<name>VOICEMMODE2p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
<pcm-device>
|
||||
<id>108</id>
|
||||
<name>VOICEMMODE1c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>109</id>
|
||||
<name>VOICEMMODE2c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>110</id>
|
||||
<name>PCM110</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>111</id>
|
||||
<name>PCM111</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>112</id>
|
||||
<name>PCM112</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>113</id>
|
||||
<name>PCM113</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>114</id>
|
||||
<name>PCM114</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<mixer>
|
||||
<id>1</id>
|
||||
<name>agm_mixer</name>
|
||||
<mixer_plugin>
|
||||
<so-name>libagm_mixer_plugin.so</so-name>
|
||||
</mixer_plugin>
|
||||
</mixer>
|
||||
|
||||
</card>
|
||||
</defs>
|
||||
517
qcom/opensource/audio-hal/primary-hal/configs/kona/kona.mk
Normal file
517
qcom/opensource/audio-hal/primary-hal/configs/kona/kona.mk
Normal file
@@ -0,0 +1,517 @@
|
||||
#BOARD_USES_GENERIC_AUDIO := true
|
||||
#
|
||||
#AUDIO_FEATURE_FLAGS
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(AUDIO_USE_STUB_HAL), true)
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
TARGET_USES_AOSP_FOR_AUDIO := false
|
||||
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
|
||||
AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_MPEGH_SW_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := false
|
||||
MM_AUDIO_ENABLED_SAFX := true
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
||||
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
|
||||
ifeq ($(filter R% r%,$(TARGET_PLATFORM_VERSION)),)
|
||||
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
|
||||
endif
|
||||
AUDIO_FEATURE_ENABLED_AHAL_EXT := true
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
DOLBY_ENABLE := false
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_SUPPORTS_GCS := false
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
|
||||
#AUDIO_FEATURE_ENABLED_KEEP_ALIVE := true
|
||||
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := false
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_RAS := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
|
||||
##AUDIO_FEATURE_FLAGS
|
||||
#AGM
|
||||
AUDIO_AGM := libclient_ipc
|
||||
AUDIO_AGM += libagmservice
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-impl
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service.rc
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += catf
|
||||
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
|
||||
AUDIO_HARDWARE := audio.a2dp.default
|
||||
AUDIO_HARDWARE += audio.usb.default
|
||||
AUDIO_HARDWARE += audio.r_submix.default
|
||||
AUDIO_HARDWARE += audio.primary.kona
|
||||
|
||||
#HAL Wrapper
|
||||
AUDIO_WRAPPER := libqahw
|
||||
AUDIO_WRAPPER += libqahwwrapper
|
||||
|
||||
#HAL Test app
|
||||
AUDIO_HAL_TEST_APPS := hal_play_test
|
||||
AUDIO_HAL_TEST_APPS += hal_rec_test
|
||||
|
||||
PRODUCT_PACKAGES += $(AUDIO_HARDWARE)
|
||||
PRODUCT_PACKAGES += $(AUDIO_WRAPPER)
|
||||
PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS)
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_DLKM),true)
|
||||
BOARD_VENDOR_KERNEL_MODULES := \
|
||||
$(KERNEL_MODULES_OUT)/audio_apr.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_q6_pdr.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_q6_notifier.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_adsp_loader.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_q6.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_usf.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_pinctrl_wcd.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_pinctrl_lpi.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_swr.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wcd_core.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_swr_ctrl.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wsa881x.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_platform.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_hdmi.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_stub.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wcd9xxx.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_mbhc.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wcd938x.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wcd938x_slave.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_bolero_cdc.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_wsa_macro.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_va_macro.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_rx_macro.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_tx_macro.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_native.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_machine_kona.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_snd_event.ko
|
||||
endif
|
||||
|
||||
BOARD_VENDOR_KERNEL_MODULES += \
|
||||
$(KERNEL_MODULES_OUT)/qca_cld3_wlan.ko
|
||||
|
||||
#Audio DLKM
|
||||
AUDIO_DLKM := audio_apr.ko
|
||||
AUDIO_DLKM += audio_q6_pdr.ko
|
||||
AUDIO_DLKM += audio_q6_notifier.ko
|
||||
AUDIO_DLKM += audio_adsp_loader.ko
|
||||
AUDIO_DLKM += audio_q6.ko
|
||||
AUDIO_DLKM += audio_usf.ko
|
||||
AUDIO_DLKM += audio_pinctrl_wcd.ko
|
||||
AUDIO_DLKM += audio_swr.ko
|
||||
AUDIO_DLKM += audio_wcd_core.ko
|
||||
AUDIO_DLKM += audio_swr_ctrl.ko
|
||||
AUDIO_DLKM += audio_wsa881x.ko
|
||||
AUDIO_DLKM += audio_platform.ko
|
||||
AUDIO_DLKM += audio_hdmi.ko
|
||||
AUDIO_DLKM += audio_stub.ko
|
||||
AUDIO_DLKM += audio_wcd9xxx.ko
|
||||
AUDIO_DLKM += audio_mbhc.ko
|
||||
AUDIO_DLKM += audio_native.ko
|
||||
AUDIO_DLKM += audio_wcd938x.ko
|
||||
AUDIO_DLKM += audio_wcd938x_slave.ko
|
||||
AUDIO_DLKM += audio_bolero_cdc.ko
|
||||
AUDIO_DLKM += audio_wsa_macro.ko
|
||||
AUDIO_DLKM += audio_va_macro.ko
|
||||
AUDIO_DLKM += audio_rx_macro.ko
|
||||
AUDIO_DLKM += audio_tx_macro.ko
|
||||
AUDIO_DLKM += audio_machine_kona.ko
|
||||
AUDIO_DLKM += audio_snd_event.ko
|
||||
|
||||
PRODUCT_PACKAGES += $(AUDIO_DLKM)
|
||||
|
||||
ifneq ($(strip $(TARGET_USES_RRO)), true)
|
||||
#Audio Specific device overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay
|
||||
endif
|
||||
PRODUCT_PACKAGES += $(AUDIO_AGM)
|
||||
PRODUCT_PACKAGES += $(AUDIO_PAL)
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/card-defs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/card-defs.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_cdp.xml \
|
||||
vendor/qcom/opensource/pal/configs/kona/resourcemanager.xml:$(TARGET_COPY_OUT_VENDOR)/etc/resourcemanager.xml \
|
||||
vendor/qcom/opensource/pal/configs/kona/resourcemanager_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/resourcemanager_qrd.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
|
||||
|
||||
#XML Audio configuration files
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
|
||||
endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
|
||||
|
||||
|
||||
# Low latency audio buffer size in frames
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_size=192
|
||||
|
||||
##Ambisonic Capture
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ambisonic.capture=false \
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.fluencetype=none\
|
||||
persist.vendor.audio.fluence.voicecall=true\
|
||||
persist.vendor.audio.fluence.voicerec=false\
|
||||
persist.vendor.audio.fluence.speaker=true\
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
|
||||
##speaker protection v3 switch and ADSP AFE API version
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.spv3.enable=true\
|
||||
persist.vendor.audio.avs.afe_api_version=2
|
||||
|
||||
#disable tunnel encoding
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.tunnel.encode=false
|
||||
|
||||
#Disable RAS Feature by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
|
||||
#Buffer size in kbytes for compress offload playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
#Enable audio track offload by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.track.enable=true
|
||||
|
||||
#enable voice path for PCM VoIP by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
#Enable multi channel aac through offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
|
||||
#Enable DS2, Hardbypass feature for Dolby
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.dolby.ds2.enabled=false\
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
|
||||
#Disable Multiple offload sesison
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
|
||||
#Disable Compress passthrough playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.passthrough=false
|
||||
|
||||
#Disable surround sound recording
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
|
||||
#enable dsp gapless mode by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
|
||||
#timeout crash duration set to 20sec before system is ready.
|
||||
#timeout duration updates to default timeout of 5sec once the system is ready.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
|
||||
#enable pbe effects
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
|
||||
#parser input buffer size(256kb) in byte stream mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.parser.ip.buffer.size=262144
|
||||
|
||||
#flac sw decoder 24 bit decode capability
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.flac.sw.decoder.24bit=true
|
||||
|
||||
#split a2dp DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
|
||||
|
||||
# A2DP offload support
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
|
||||
# Disable A2DP offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
|
||||
# A2DP offload DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
|
||||
|
||||
#enable software decoders for ALAC and APE
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
|
||||
#disable hw aac encoder by default in AR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=false
|
||||
|
||||
#enable software decoder for MPEG-H
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
|
||||
#enable hw aac encoder by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=true
|
||||
|
||||
#Set HAL buffer size to samples equal to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.in_period_size=144
|
||||
|
||||
#Set HAL buffer size to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
|
||||
#ADM Buffering size in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
|
||||
#enable headset calibration
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
|
||||
#enable dualmic fluence for voice communication
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.fluence.voicecomm=true
|
||||
endif
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
#enable keytone FR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
|
||||
#enable mirror-link feature
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.enable.mirrorlink=false
|
||||
|
||||
#enable voicecall speaker stereo
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
|
||||
#enable AAC frame ctl for A2DP sinks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
|
||||
#enable VBR frame ctl
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
|
||||
|
||||
#add dynamic feature flags here
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.feature.a2dp_offload.enable=true \
|
||||
vendor.audio.feature.afe_proxy.enable=true \
|
||||
vendor.audio.feature.anc_headset.enable=false \
|
||||
vendor.audio.feature.battery_listener.enable=true \
|
||||
vendor.audio.feature.compr_cap.enable=false \
|
||||
vendor.audio.feature.compress_in.enable=true \
|
||||
vendor.audio.feature.compress_meta_data.enable=true \
|
||||
vendor.audio.feature.compr_voip.enable=false \
|
||||
vendor.audio.feature.concurrent_capture.enable=true \
|
||||
vendor.audio.feature.custom_stereo.enable=true \
|
||||
vendor.audio.feature.display_port.enable=true \
|
||||
vendor.audio.feature.dsm_feedback.enable=false \
|
||||
vendor.audio.feature.dynamic_ecns.enable=true \
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false \
|
||||
vendor.audio.feature.external_dsp.enable=false \
|
||||
vendor.audio.feature.external_speaker.enable=false \
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false \
|
||||
vendor.audio.feature.fluence.enable=true \
|
||||
vendor.audio.feature.fm.enable=true \
|
||||
vendor.audio.feature.hdmi_edid.enable=true \
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true \
|
||||
vendor.audio.feature.hfp.enable=true \
|
||||
vendor.audio.feature.hifi_audio.enable=false \
|
||||
vendor.audio.feature.hwdep_cal.enable=false \
|
||||
vendor.audio.feature.incall_music.enable=true \
|
||||
vendor.audio.feature.multi_voice_session.enable=true \
|
||||
vendor.audio.feature.keep_alive.enable=true \
|
||||
vendor.audio.feature.kpi_optimize.enable=true \
|
||||
vendor.audio.feature.maxx_audio.enable=false \
|
||||
vendor.audio.feature.ras.enable=true \
|
||||
vendor.audio.feature.record_play_concurency.enable=false \
|
||||
vendor.audio.feature.src_trkn.enable=true \
|
||||
vendor.audio.feature.spkr_prot.enable=true \
|
||||
vendor.audio.feature.ssrec.enable=true \
|
||||
vendor.audio.feature.usb_offload.enable=true \
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true \
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false \
|
||||
vendor.audio.feature.vbat.enable=true \
|
||||
vendor.audio.feature.wsa.enable=false \
|
||||
vendor.audio.feature.audiozoom.enable=false \
|
||||
vendor.audio.feature.snd_mon.enable=true
|
||||
|
||||
# for HIDL related packages
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@2.0-service \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.soundtrigger@2.1-impl \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@4.0-util \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@4.0-impl \
|
||||
vendor.qti.hardware.audiohalext@1.0 \
|
||||
vendor.qti.hardware.audiohalext@1.0-impl \
|
||||
vendor.qti.hardware.audiohalext-utils
|
||||
|
||||
# enable audio hidl hal 5.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.common@5.0-util \
|
||||
android.hardware.audio@5.0-impl \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.audio.effect@5.0-impl
|
||||
|
||||
# enable audio hidl hal 6.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@6.0 \
|
||||
android.hardware.audio.common@6.0 \
|
||||
android.hardware.audio.common@6.0-util \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0 \
|
||||
android.hardware.audio.effect@6.0-impl
|
||||
|
||||
# enable sound trigger hidl hal 2.2
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
|
||||
# enable sound trigger hidl hal 2.3
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
|
||||
PRODUCT_PACKAGES_ENG += \
|
||||
VoicePrintTest \
|
||||
VoicePrintDemo
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
AudioSettings
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libaudiodevarb
|
||||
endif
|
||||
|
||||
ifeq ($(call is-vendor-board-platform,QCOM),true)
|
||||
ifeq ($(call is-platform-sdk-version-at-least,28),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libqti_resampler_headers \
|
||||
lib_soundmodel_headers \
|
||||
libqti_vraudio_headers
|
||||
endif
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_3D_AUDIO)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libvr_object_engine \
|
||||
libvr_amb_engine \
|
||||
libhoaeffects_csim
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libadpcmdec
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,971 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2020, 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, -->
|
||||
<!-- 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 -->
|
||||
<!-- Codec controls -->
|
||||
<!-- WSA controls -->
|
||||
<ctl name="WSA RX0 MUX" value="ZERO" />
|
||||
<ctl name="WSA RX1 MUX" value="ZERO" />
|
||||
<ctl name="WSA_RX0 INP0" value="ZERO" />
|
||||
<ctl name="WSA_RX1 INP0" value="ZERO" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="0" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="0" />
|
||||
<ctl name="SpkrLeft COMP Switch" value="0" />
|
||||
<ctl name="SpkrRight COMP Switch" value="0" />
|
||||
<ctl name="SpkrLeft BOOST Switch" value="0" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="0" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="0" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="0" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="0" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="0" />
|
||||
|
||||
<!-- RX Controls -->
|
||||
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="0" />
|
||||
<ctl name="RX_COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL_COMP Switch" value="0" />
|
||||
<ctl name="HPHR_COMP Switch" value="0" />
|
||||
<ctl name="EAR_RDAC Switch" value="0" />
|
||||
<ctl name="HPHL_RDAC Switch" value="0" />
|
||||
<ctl name="HPHR_RDAC Switch" value="0" />
|
||||
<ctl name="AUX_RDAC Switch" value="0" />
|
||||
<ctl name="RDAC3_MUX" value="ZERO" />
|
||||
<ctl name="RX_EAR Mode" value="OFF" />
|
||||
|
||||
<!-- TX Controls -->
|
||||
<ctl name="LPI Enable" value="1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="DEC0_BCS Switch" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX7" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Voice UI controls -->
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX2" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX3" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX4" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX5" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX6" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX7" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX2" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX3" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX4" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX5" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX6" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Volume controls -->
|
||||
<ctl name="WSA_RX0 Digital Volume" value="84" />
|
||||
<ctl name="WSA_RX1 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX0 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX1 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX2 Digital Volume" value="84" />
|
||||
<ctl name="HPHL Volume" value="20" />
|
||||
<ctl name="HPHR Volume" value="20" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_DEFAULT" />
|
||||
|
||||
<ctl name="TX_DEC0 Volume" value="102" />
|
||||
<ctl name="TX_DEC1 Volume" value="102" />
|
||||
<ctl name="TX_DEC2 Volume" value="102" />
|
||||
<ctl name="TX_DEC3 Volume" value="102" />
|
||||
<ctl name="TX_DEC4 Volume" value="84" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
<ctl name="TX_DEC6 Volume" value="84" />
|
||||
<ctl name="TX_DEC7 Volume" value="84" />
|
||||
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
|
||||
<!-- Compander controls -->
|
||||
<ctl name="WSA_COMP1 Switch" value="0" />
|
||||
<ctl name="WSA_COMP2 Switch" value="0" />
|
||||
<ctl name="COMP7 Switch" value="0" />
|
||||
<ctl name="COMP8 Switch" value="0" />
|
||||
|
||||
<!-- Headphone class-H mode -->
|
||||
<ctl name="RX_HPH_PWR_MODE" value="ULP" />
|
||||
<ctl name="RX HPH Mode" value="CLS_H_ULP" />
|
||||
|
||||
<!-- IIR/voice anc -->
|
||||
<ctl name="IIR0 Band1" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band1" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band2" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band3" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band4" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band5" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="4" value="0" />
|
||||
<ctl name="IIR0 Enable Band1" value="0" />
|
||||
<ctl name="IIR0 Enable Band2" value="0" />
|
||||
<ctl name="IIR0 Enable Band3" value="0" />
|
||||
<ctl name="IIR0 Enable Band4" value="0" />
|
||||
<ctl name="IIR0 Enable Band5" value="0" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP2 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP3 MUX" value="ZERO" />
|
||||
|
||||
<!-- vbat related data -->
|
||||
<ctl name="GSM mode Enable" value="OFF" />
|
||||
<ctl name="WSA_Softclip0 Enable" value="0" />
|
||||
<ctl name="WSA_Softclip1 Enable" value="0" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="0" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="0" />
|
||||
|
||||
<!-- Codec controls end -->
|
||||
|
||||
<!-- These are audio route (FE to BE) specific mixer settings -->
|
||||
<path name="amic2">
|
||||
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX0" value="ADC1" />
|
||||
<ctl name="DEC0_BCS Switch" value="1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic1">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC0" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic3">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic4">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="dmic5">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC4" />
|
||||
</path>
|
||||
|
||||
<path name="dmic6">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC4" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC4" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-tmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC4" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC0" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-qmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC4" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC0" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC1" />
|
||||
<ctl name="VA DMIC MUX3" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic" />
|
||||
</path>
|
||||
|
||||
<path name="headset-va-mic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="VA SMIC MUX0" value="ADC1" />
|
||||
<ctl name="ADC2 Volume" value="62" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="WSA RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX0 INP0" value="RX0" />
|
||||
<ctl name="WSA_RX1 INP0" value="RX1" />
|
||||
<ctl name="WSA_COMP1 Switch" value="1" />
|
||||
<ctl name="WSA_COMP2 Switch" value="1" />
|
||||
<ctl name="SpkrLeft COMP Switch" value="1" />
|
||||
<ctl name="SpkrLeft BOOST Switch" value="1" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
|
||||
<ctl name="SpkrRight COMP Switch" value="1" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="1" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<ctl name="WSA RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX0 INP0" value="RX0" />
|
||||
<ctl name="WSA_COMP1 Switch" value="1" />
|
||||
<ctl name="SpkrLeft COMP Switch" value="1" />
|
||||
<ctl name="SpkrLeft BOOST Switch" value="1" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<ctl name="WSA RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX1 INP0" value="RX1" />
|
||||
<ctl name="WSA_COMP2 Switch" value="1" />
|
||||
<ctl name="SpkrRight COMP Switch" value="1" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="1" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat-mono">
|
||||
<path name="speaker-mono" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat-mono-2">
|
||||
<path name="speaker-mono-2" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat">
|
||||
<path name="speaker" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-fluid">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-liquid">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono"/>
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
<ctl name="IIR0 Enable Band1" value="1" />
|
||||
<ctl name="IIR0 Enable Band2" value="1" />
|
||||
<ctl name="IIR0 Enable Band3" value="1" />
|
||||
<ctl name="IIR0 Enable Band4" value="1" />
|
||||
<ctl name="IIR0 Enable Band5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-headphones">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
<ctl name="RX INT1 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT2 MIX2 INP" value="SRC0" />
|
||||
<ctl name="WSA_RX0 INT0 SIDETONE MIX" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic5" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="dmic5" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
<path name="speaker-mono-2" />
|
||||
<ctl name="VI_FEED_TX Channels" value="One" />
|
||||
<ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="WSA_CDC_DMA_TX_0" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo-protected">
|
||||
<path name="speaker-protected" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected-vbat">
|
||||
<path name="speaker-protected" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-protected-vbat">
|
||||
<path name="voice-speaker-protected" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-protected-vbat">
|
||||
<path name="voice-speaker-2-protected" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback-mono-1">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback-mono-2">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<ctl name="WSA RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX0 INP0" value="RX0" />
|
||||
<ctl name="WSA_COMP1 Switch" value="1" />
|
||||
<ctl name="SpkrLeft COMP Switch" value="1" />
|
||||
<ctl name="SpkrLeft BOOST Switch" value="1" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="headphones">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="RX1" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="1" />
|
||||
<ctl name="RX_COMP2 Switch" value="1" />
|
||||
<ctl name="HPHL_COMP Switch" value="1" />
|
||||
<ctl name="HPHR_COMP Switch" value="1" />
|
||||
<ctl name="HPHL_RDAC Switch" value="1" />
|
||||
<ctl name="HPHR_RDAC Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="headphones-44.1">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="headphones-hifi-filter">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="line">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="headset-mic">
|
||||
<ctl name="TX_DEC0 Volume" value="84" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="headset-mic-liquid">
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
<path name="speaker-fluid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
<path name="speaker-vbat-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
<path name="speaker-vbat-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headphones">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headset">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-line">
|
||||
<path name="voice-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headset-mic">
|
||||
<path name="headset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-headphones">
|
||||
<path name="headphones" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-headphones-hifi-filter">
|
||||
<path name="headphones" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-headphones">
|
||||
<path name="headphones" />
|
||||
<path name="speaker-safe" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-line">
|
||||
<path name="speaker-and-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-headphones-liquid">
|
||||
<path name="headphones" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-line-liquid">
|
||||
<path name="speaker-and-headphones-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="usb-headphones">
|
||||
</path>
|
||||
|
||||
<path name="usb-headset">
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="display-port1">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-usb-headphones">
|
||||
<path name="speaker" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-usb-headphones">
|
||||
<path name="speaker-safe" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port1">
|
||||
<path name="speaker" />
|
||||
<path name="display-port1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="usb-headset-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC4" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC7" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="hearing-aid-mic">
|
||||
<path name="voice-speaker-mic"/>
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef-liquid">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-liquid-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
<path name="speaker-dmic-broadside">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC4" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- Tri MIC devices -->
|
||||
<path name="three-mic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC3" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-tmic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC4" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-tmic">
|
||||
<path name="speaker-tmic" />
|
||||
</path>
|
||||
|
||||
<!-- Quad MIC devices -->
|
||||
<path name="speaker-qmic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC4" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="1" />
|
||||
<ctl name="TX DMIC MUX4" value="DMIC0" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-qmic-liquid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-qmic">
|
||||
<path name="speaker-qmic" />
|
||||
</path>
|
||||
|
||||
<path name="quad-mic">
|
||||
<path name="speaker-qmic" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-qmic-liquid">
|
||||
<path name="speaker-qmic-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="quad-mic-liquid">
|
||||
<path name="speaker-qmic-liquid" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="tty-headphones">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="1" />
|
||||
<ctl name="HPHL_COMP Switch" value="1" />
|
||||
<ctl name="HPHL_RDAC Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headphones">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headset">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-headphones">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-headset">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headset-mic">
|
||||
<path name="amic2" />
|
||||
<ctl name="ADC2 Volume" value="0" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-headset-mic">
|
||||
<ctl name="TX DEC6 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX6" value="ADC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-three-mic">
|
||||
<path name="three-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-quad-mic">
|
||||
<path name="quad-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-headset-mic">
|
||||
<path name="headset-mic" />
|
||||
</path>
|
||||
|
||||
<!-- USB TTY start -->
|
||||
|
||||
<!-- full: both end tty -->
|
||||
<path name="voice-tty-full-usb">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-usb-mic">
|
||||
<path name="usb-headset-mic" />
|
||||
</path>
|
||||
|
||||
<!-- vco, in: handset mic use existing, out: tty -->
|
||||
<path name="voice-tty-vco-usb">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<!-- hco, in: tty, out: speaker, use existing handset -->
|
||||
<path name="voice-tty-hco-usb-mic">
|
||||
<path name="voice-tty-full-usb-mic" />
|
||||
</path>
|
||||
|
||||
<!-- USB TTY end -->
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
<ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,861 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2020, 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, -->
|
||||
<!-- 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 -->
|
||||
<!-- Codec controls -->
|
||||
<!-- WSA controls -->
|
||||
<ctl name="WSA RX0 MUX" value="ZERO" />
|
||||
<ctl name="WSA RX1 MUX" value="ZERO" />
|
||||
<ctl name="WSA_RX0 INP0" value="ZERO" />
|
||||
<ctl name="WSA_RX1 INP0" value="ZERO" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="0" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="0" />
|
||||
<ctl name="SpkrLeft COMP Switch" value="0" />
|
||||
<ctl name="SpkrRight COMP Switch" value="0" />
|
||||
<ctl name="SpkrLeft BOOST Switch" value="0" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="0" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="0" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="0" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="0" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="0" />
|
||||
|
||||
<!-- RX Controls -->
|
||||
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="0" />
|
||||
<ctl name="RX_COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL_COMP Switch" value="0" />
|
||||
<ctl name="HPHR_COMP Switch" value="0" />
|
||||
<ctl name="EAR_RDAC Switch" value="0" />
|
||||
<ctl name="HPHL_RDAC Switch" value="0" />
|
||||
<ctl name="HPHR_RDAC Switch" value="0" />
|
||||
<ctl name="AUX_RDAC Switch" value="0" />
|
||||
<ctl name="RDAC3_MUX" value="ZERO" />
|
||||
<ctl name="RX_EAR Mode" value="OFF" />
|
||||
|
||||
<!-- TX Controls -->
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="DEC0_BCS Switch" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX7" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Voice UI controls -->
|
||||
<ctl name="LPI Enable" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX2" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX3" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX4" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX5" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX6" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX7" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX2" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX3" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX4" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX5" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX6" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Volume controls -->
|
||||
<ctl name="WSA_RX0 Digital Volume" value="84" />
|
||||
<ctl name="WSA_RX1 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX0 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX1 Digital Volume" value="84" />
|
||||
<ctl name="RX_RX2 Digital Volume" value="84" />
|
||||
<ctl name="HPHL Volume" value="20" />
|
||||
<ctl name="HPHR Volume" value="20" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_DEFAULT" />
|
||||
|
||||
<ctl name="TX_DEC0 Volume" value="96" />
|
||||
<ctl name="TX_DEC1 Volume" value="96" />
|
||||
<ctl name="TX_DEC2 Volume" value="96" />
|
||||
<ctl name="TX_DEC3 Volume" value="96" />
|
||||
<ctl name="TX_DEC4 Volume" value="84" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
<ctl name="TX_DEC6 Volume" value="84" />
|
||||
<ctl name="TX_DEC7 Volume" value="84" />
|
||||
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
|
||||
<!-- Compander controls -->
|
||||
<ctl name="WSA_COMP1 Switch" value="0" />
|
||||
<ctl name="WSA_COMP2 Switch" value="0" />
|
||||
<ctl name="COMP7 Switch" value="0" />
|
||||
<ctl name="COMP8 Switch" value="0" />
|
||||
|
||||
<!-- Headphone class-H mode -->
|
||||
<ctl name="RX_HPH_PWR_MODE" value="ULP" />
|
||||
<ctl name="RX HPH Mode" value="CLS_H_ULP" />
|
||||
|
||||
<!-- IIR/voice anc -->
|
||||
<ctl name="IIR0 Band1" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band1" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band2" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band3" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band4" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band5" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="4" value="0" />
|
||||
<ctl name="IIR0 Enable Band1" value="0" />
|
||||
<ctl name="IIR0 Enable Band2" value="0" />
|
||||
<ctl name="IIR0 Enable Band3" value="0" />
|
||||
<ctl name="IIR0 Enable Band4" value="0" />
|
||||
<ctl name="IIR0 Enable Band5" value="0" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP2 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP3 MUX" value="ZERO" />
|
||||
|
||||
<!-- vbat related data -->
|
||||
<ctl name="GSM mode Enable" value="OFF" />
|
||||
<ctl name="WSA_Softclip0 Enable" value="0" />
|
||||
<ctl name="WSA_Softclip1 Enable" value="0" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="0" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="0" />
|
||||
|
||||
<!-- Codec controls end -->
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="spkr-vi-record">
|
||||
</path>
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="amic1">
|
||||
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX2" value="ADC0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="ADC1_MIXER Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="amic2">
|
||||
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX0" value="ADC1" />
|
||||
<ctl name="DEC0_BCS Switch" value="1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP2" />
|
||||
</path>
|
||||
|
||||
|
||||
<path name="amic3">
|
||||
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX2" value="ADC2" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP3" />
|
||||
</path>
|
||||
|
||||
<path name="dmic1">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC0" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic3">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic4">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="dmic5">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC4" />
|
||||
</path>
|
||||
|
||||
<path name="dmic6">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-tmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-qmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC3" />
|
||||
<ctl name="VA DMIC MUX3" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic" />
|
||||
</path>
|
||||
|
||||
<path name="headset-va-mic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="VA SMIC MUX0" value="ADC1" />
|
||||
<ctl name="ADC2 Volume" value="62" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="WSA RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX1 INP0" value="RX1" />
|
||||
<ctl name="WSA_COMP2 Switch" value="1" />
|
||||
<ctl name="SpkrRight COMP Switch" value="1" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="1" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<ctl name="WSA RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="WSA_RX1 INP0" value="RX1" />
|
||||
<ctl name="WSA_COMP2 Switch" value="1" />
|
||||
<ctl name="SpkrRight COMP Switch" value="1" />
|
||||
<ctl name="SpkrRight BOOST Switch" value="1" />
|
||||
<ctl name="SpkrRight VISENSE Switch" value="1" />
|
||||
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat-mono">
|
||||
<path name="speaker-mono" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat-mono-2">
|
||||
<path name="speaker-mono-2" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-vbat">
|
||||
<path name="speaker" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono"/>
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
<ctl name="IIR0 Enable Band1" value="1" />
|
||||
<ctl name="IIR0 Enable Band2" value="1" />
|
||||
<ctl name="IIR0 Enable Band3" value="1" />
|
||||
<ctl name="IIR0 Enable Band4" value="1" />
|
||||
<ctl name="IIR0 Enable Band5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-headphones">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="40" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
<ctl name="RX INT1 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-protected">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
<path name="speaker-mono-2" />
|
||||
<ctl name="VI_FEED_TX Channels" value="One" />
|
||||
<ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="WSA_CDC_DMA_TX_0" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo-protected">
|
||||
<path name="speaker-protected" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected-vbat">
|
||||
<path name="speaker-protected" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-protected-vbat">
|
||||
<path name="voice-speaker-protected" />
|
||||
<ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-protected-vbat">
|
||||
<path name="voice-speaker-2-protected" />
|
||||
<ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback-mono-1">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback-mono-2">
|
||||
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1" />
|
||||
<ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B" />
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="EAR_RDAC Switch" value="1" />
|
||||
<ctl name="RDAC3_MUX" value="RX1" />
|
||||
<ctl name="RX_EAR Mode" value="ON" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="headphones">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="RX1" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="1" />
|
||||
<ctl name="RX_COMP2 Switch" value="1" />
|
||||
<ctl name="HPHL_COMP Switch" value="1" />
|
||||
<ctl name="HPHR_COMP Switch" value="1" />
|
||||
<ctl name="HPHL_RDAC Switch" value="1" />
|
||||
<ctl name="HPHR_RDAC Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="headphones-44.1">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="headphones-hifi-filter">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
<ctl name="RX_HPH_PWR_MODE" value="LOHIFI" />
|
||||
<ctl name="RX HPH Mode" value="CLS_H_LOHIFI" />
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
<ctl name="RX_HPH_PWR_MODE" value="ULP" />
|
||||
<ctl name="RX HPH Mode" value="CLS_H_ULP" />
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="line">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="headset-mic">
|
||||
<ctl name="TX_DEC0 Volume" value="84" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headphones">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headset">
|
||||
<path name="headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-line">
|
||||
<path name="voice-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headset-mic">
|
||||
<path name="headset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-headphones">
|
||||
<path name="headphones" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-headphones-hifi-filter">
|
||||
<path name="headphones" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-headphones">
|
||||
<path name="headphones" />
|
||||
<path name="speaker-safe" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-line">
|
||||
<path name="speaker-and-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="usb-headphones">
|
||||
</path>
|
||||
|
||||
<path name="usb-headset">
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="call-proxy">
|
||||
</path>
|
||||
|
||||
<path name="call-proxy-in">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-usb-headphones">
|
||||
<path name="speaker" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-usb-headphones">
|
||||
<path name="speaker-safe" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-headset-swb">
|
||||
</path>
|
||||
|
||||
<path name="usb-headset-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="hearing-aid-mic">
|
||||
<path name="voice-speaker-mic"/>
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-broadside">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="tty-headphones">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="1" />
|
||||
<ctl name="HPHL_COMP Switch" value="1" />
|
||||
<ctl name="HPHL_RDAC Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headphones">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headset">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-headphones">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-headset">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="tty-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-headset-mic">
|
||||
<path name="amic2" />
|
||||
<ctl name="ADC2 Volume" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-headset-mic">
|
||||
<path name="voice-tty-full-headset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-three-mic">
|
||||
<path name="three-mic" />
|
||||
</path>
|
||||
|
||||
<path name="three-mic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC3" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-tmic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-tmic">
|
||||
<path name="speaker-tmic" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-qmic">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC1" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="1" />
|
||||
<ctl name="TX DMIC MUX4" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-qmic">
|
||||
<path name="speaker-qmic" />
|
||||
</path>
|
||||
|
||||
<path name="quad-mic">
|
||||
<path name="speaker-qmic" />
|
||||
<ctl name="TX_DEC4 Volume" value="96" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-quad-mic">
|
||||
<path name="quad-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-headset-mic">
|
||||
<path name="headset-mic" />
|
||||
</path>
|
||||
|
||||
<!-- USB TTY start -->
|
||||
|
||||
<!-- full: both end tty -->
|
||||
<path name="voice-tty-full-usb">
|
||||
<ctl name="TTY Mode" value="FULL" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-full-usb-mic">
|
||||
<path name="usb-headset-mic" />
|
||||
</path>
|
||||
|
||||
<!-- vco, in: handset mic use existing, out: tty -->
|
||||
<path name="voice-tty-vco-usb">
|
||||
<ctl name="TTY Mode" value="VCO" />
|
||||
<path name="usb-headphones" />
|
||||
</path>
|
||||
|
||||
<!-- hco, in: tty, out: speaker, use existing handset -->
|
||||
<path name="voice-tty-hco-usb-mic">
|
||||
<path name="voice-tty-full-usb-mic" />
|
||||
</path>
|
||||
|
||||
<!-- USB TTY end -->
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,367 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
shoebox {
|
||||
path /vendor/lib/soundfx/libshoebox.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
shoebox {
|
||||
library shoebox
|
||||
uuid 1eab784c-1a36-4b2a-b7fc-e34c44cab89e
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, 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. -->
|
||||
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,488 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
|
||||
<audioPolicyConfiguration version="1.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="true" 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="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="haptics output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="dynamic"
|
||||
samplingRates="dynamic" channelMasks="dynamic"/>
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_VORBIS"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_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="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</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="A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,A2DP In"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,A2DP In"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<!-- <module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module> -->
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<!-- xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>-->
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
285
qcom/opensource/audio-hal/primary-hal/configs/lahaina/card-defs.xml
Executable file
285
qcom/opensource/audio-hal/primary-hal/configs/lahaina/card-defs.xml
Executable file
@@ -0,0 +1,285 @@
|
||||
<!-- Copyright (c) 2019,2021 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. -->
|
||||
<defs>
|
||||
<card>
|
||||
<id>100</id>
|
||||
<name>lahainavirtualsndcard</name>
|
||||
|
||||
<pcm-device>
|
||||
<id>100</id>
|
||||
<name>PCM100</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>101</id>
|
||||
<name>PCM101</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>102</id>
|
||||
<name>PCM102</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>103</id>
|
||||
<name>PCM103</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>104</id>
|
||||
<name>PCM104</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<compress-device>
|
||||
<id>105</id>
|
||||
<name>COMPRESS105</name>
|
||||
<compress_plugin>
|
||||
<so-name>libagm_compress_plugin.so</so-name>
|
||||
</compress_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</compress-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>106</id>
|
||||
<name>VOICEMMODE1p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>107</id>
|
||||
<name>VOICEMMODE2p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
<pcm-device>
|
||||
<id>108</id>
|
||||
<name>VOICEMMODE1c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>109</id>
|
||||
<name>VOICEMMODE2c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>110</id>
|
||||
<name>PCM110</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>111</id>
|
||||
<name>PCM111</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>112</id>
|
||||
<name>PCM112</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>113</id>
|
||||
<name>PCM113</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>114</id>
|
||||
<name>PCM114</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>115</id>
|
||||
<name>PCM115</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>116</id>
|
||||
<name>PCM116</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<capture>1</capture>
|
||||
<session_mode>3</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>117</id>
|
||||
<name>PCM117</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>118</id>
|
||||
<name>ExtEC118</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<mixer>
|
||||
<id>1</id>
|
||||
<name>agm_mixer</name>
|
||||
<mixer_plugin>
|
||||
<so-name>libagm_mixer_plugin.so</so-name>
|
||||
</mixer_plugin>
|
||||
</mixer>
|
||||
|
||||
</card>
|
||||
</defs>
|
||||
546
qcom/opensource/audio-hal/primary-hal/configs/lahaina/lahaina.mk
Normal file
546
qcom/opensource/audio-hal/primary-hal/configs/lahaina/lahaina.mk
Normal file
@@ -0,0 +1,546 @@
|
||||
#BOARD_USES_GENERIC_AUDIO := true
|
||||
#
|
||||
#AUDIO_FEATURE_FLAGS
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGET_USES_ION_CMA_MEMORY := true
|
||||
|
||||
ifneq ($(AUDIO_USE_STUB_HAL), true)
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
TARGET_USES_AOSP_FOR_AUDIO := false
|
||||
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
|
||||
AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_MPEGH_SW_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := false
|
||||
MM_AUDIO_ENABLED_SAFX := true
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
||||
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_AHAL_EXT := false
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
DOLBY_ENABLE := false
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_SUPPORTS_GCS := false
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
|
||||
#AUDIO_FEATURE_ENABLED_KEEP_ALIVE := true
|
||||
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := false
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_RAS := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
|
||||
|
||||
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
|
||||
AUDIO_FEATURE_ENABLED_LSM_HIDL := false
|
||||
##AUDIO_FEATURE_FLAGS
|
||||
|
||||
#AGM
|
||||
AUDIO_AGM := libagmclient
|
||||
AUDIO_AGM += libagmservice
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-impl
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service.rc
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += lib_bt_ble
|
||||
AUDIO_PAL += catf
|
||||
#PAL Service
|
||||
AUDIO_PAL += libpalclient
|
||||
AUDIO_PAL += vendor.qti.hardware.pal@1.0-impl
|
||||
|
||||
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
|
||||
AUDIO_HARDWARE := audio.a2dp.default
|
||||
AUDIO_HARDWARE += audio.usb.default
|
||||
AUDIO_HARDWARE += audio.r_submix.default
|
||||
AUDIO_HARDWARE += audio.primary.lahaina
|
||||
|
||||
#HAL Wrapper
|
||||
AUDIO_WRAPPER := libqahw
|
||||
AUDIO_WRAPPER += libqahwwrapper
|
||||
|
||||
# C2 Audio
|
||||
AUDIO_C2 := libqc2audio_base
|
||||
AUDIO_C2 += libqc2audio_utils
|
||||
AUDIO_C2 += libqc2audio_platform
|
||||
AUDIO_C2 += libqc2audio_core
|
||||
AUDIO_C2 += libqc2audio_basecodec
|
||||
AUDIO_C2 += libqc2audio_hooks
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec_data_common
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec_data_common
|
||||
AUDIO_C2 += vendor.qti.media.c2audio@1.0-service
|
||||
AUDIO_C2 += qc2audio_test
|
||||
AUDIO_C2 += libEvrcSwCodec
|
||||
AUDIO_C2 += libQcelp13SwCodec
|
||||
|
||||
#HAL Test app
|
||||
AUDIO_HAL_TEST_APPS := hal_play_test
|
||||
AUDIO_HAL_TEST_APPS += hal_rec_test
|
||||
|
||||
PRODUCT_PACKAGES += $(AUDIO_HARDWARE)
|
||||
PRODUCT_PACKAGES += $(AUDIO_WRAPPER)
|
||||
PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS)
|
||||
PRODUCT_PACKAGES += ftm_test_config_lahaina-qrd-snd-card
|
||||
PRODUCT_PACKAGES += audioadsprpcd
|
||||
PRODUCT_PACKAGES += vendor.qti.audio-adsprpc-service.rc
|
||||
PRODUCT_PACKAGES += android.hardware.audio.service
|
||||
PRODUCT_PACKAGES += android.hardware.audio.service.rc
|
||||
PRODUCT_PACKAGES += MTP_acdb_cal.acdb
|
||||
PRODUCT_PACKAGES += MTP_workspaceFileXml.qwsp
|
||||
PRODUCT_PACKAGES += CDP_acdb_cal.acdb
|
||||
PRODUCT_PACKAGES += CDP_workspaceFileXml.qwsp
|
||||
PRODUCT_PACKAGES += QRD_acdb_cal.acdb
|
||||
PRODUCT_PACKAGES += QRD_workspaceFileXml.qwsp
|
||||
PRODUCT_PACKAGES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.10.pmd
|
||||
PRODUCT_PACKAGES += libfmpal
|
||||
PRODUCT_PACKAGES += event.eai
|
||||
PRODUCT_PACKAGES += music.eai
|
||||
PRODUCT_PACKAGES += speech.eai
|
||||
PRODUCT_PACKAGES += libqtigefar
|
||||
|
||||
ifneq ($(strip $(TARGET_USES_RRO)), true)
|
||||
#Audio Specific device overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay
|
||||
endif
|
||||
PRODUCT_PACKAGES += $(AUDIO_AGM)
|
||||
PRODUCT_PACKAGES += $(AUDIO_PAL)
|
||||
PRODUCT_PACKAGES += $(AUDIO_C2)
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/card-defs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/card-defs.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_lahaina_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_lahaina_qrd.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_lahaina_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_lahaina_mtp.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_lahaina_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_lahaina_cdp.xml \
|
||||
vendor/qcom/opensource/pal/configs/lahaina/resourcemanager_lahaina_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/resourcemanager_lahaina_qrd.xml \
|
||||
vendor/qcom/opensource/pal/configs/lahaina/resourcemanager_lahaina_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/resourcemanager_lahaina_mtp.xml \
|
||||
vendor/qcom/opensource/pal/configs/lahaina/resourcemanager_lahaina_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/resourcemanager_lahaina_cdp.xml \
|
||||
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
|
||||
|
||||
#XML Audio configuration files
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
|
||||
endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/media_codecs_c2_audio.xml:vendor/etc/media_codecs_c2_audio.xml \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.base-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm64.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm.policy \
|
||||
$(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/common/codec2/service/1.0/c2audio.vendor.ext-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm64.policy
|
||||
|
||||
# Reduce client buffer size for fast audio output tracks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
af.fast_track_multiplier=1
|
||||
|
||||
# Reduce AF standby time for playback threads (except offload)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.audio.flinger_standbytime_ms=2000
|
||||
|
||||
# Low latency audio buffer size in frames
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_size=192
|
||||
|
||||
##Ambisonic Capture
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ambisonic.capture=false \
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.fluencetype=none\
|
||||
persist.vendor.audio.fluence.voicecall=true\
|
||||
persist.vendor.audio.fluence.voicerec=false\
|
||||
persist.vendor.audio.fluence.speaker=true\
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.fluencetype=none\
|
||||
persist.audio.fluence.voicecall=true\
|
||||
persist.audio.fluence.voicerec=false\
|
||||
persist.audio.fluence.speaker=true
|
||||
|
||||
#disable tunnel encoding
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.tunnel.encode=false
|
||||
|
||||
#Disable RAS Feature by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
|
||||
#Buffer size in kbytes for compress offload playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
#Enable offload audio video playback by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.offload.video=true
|
||||
|
||||
#Enable audio track offload by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.track.enable=true
|
||||
|
||||
#Enable music through deep buffer
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.deep_buffer.media=true
|
||||
|
||||
#enable voice path for PCM VoIP by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
#Enable multi channel aac through offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
|
||||
#Enable DS2, Hardbypass feature for Dolby
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.dolby.ds2.enabled=false\
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
|
||||
#Disable Multiple offload sesison
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
|
||||
#Disable Compress passthrough playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.passthrough=false
|
||||
|
||||
#Disable surround sound recording
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
|
||||
#enable dsp gapless mode by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
|
||||
#enable pbe effects
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
|
||||
#parser input buffer size(256kb) in byte stream mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.parser.ip.buffer.size=262144
|
||||
|
||||
#flac sw decoder 24 bit decode capability
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.flac.sw.decoder.24bit=true
|
||||
|
||||
#timeout crash duration set to 20sec before system is ready.
|
||||
#timeout duration updates to default timeout of 5sec once the system is ready.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
|
||||
#split a2dp DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
|
||||
|
||||
# A2DP offload support
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
|
||||
# Disable A2DP offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
|
||||
# A2DP offload DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
|
||||
|
||||
#enable software decoders for ALAC and APE
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
|
||||
#enable software decoder for MPEG-H
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
|
||||
#disable hw aac encoder by default in AR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=false
|
||||
|
||||
#audio becoming noisy intent broadcast delay
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.noisy.broadcast.delay=600
|
||||
|
||||
#offload pausetime out duration to 3 secs to inline with other outputs
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
audio.sys.offload.pstimeout.secs=3
|
||||
|
||||
#Set AudioFlinger client heap size
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.af.client_heap_size_kbyte=7168
|
||||
|
||||
#Set HAL buffer size to samples equal to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.in_period_size=144
|
||||
|
||||
#Set HAL buffer size to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
|
||||
#ADM Buffering size in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
|
||||
#enable headset calibration
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
|
||||
#enable dualmic fluence for voice communication
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.audio.fluence.voicecomm=true
|
||||
|
||||
#enable c2 based encoders/decoders as default NT decoders/encoders
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.c2.preferred=true
|
||||
|
||||
ifneq ($(GENERIC_ODM_IMAGE),true)
|
||||
$(warning "Enabling codec2.0 SW only for non-generic odm build variant")
|
||||
#Rank OMX SW codecs lower than OMX HW codecs
|
||||
PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0
|
||||
endif
|
||||
endif
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
#enable keytone FR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
|
||||
#enable mirror-link feature
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.enable.mirrorlink=false
|
||||
|
||||
#enable voicecall speaker stereo
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
|
||||
#enable AAC frame ctl for A2DP sinks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
|
||||
#enable VBR frame ctl
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
|
||||
|
||||
#enable dedicated proxy for hearing aid
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ha_proxy.enabled=true
|
||||
|
||||
#add dynamic feature flags here
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.feature.a2dp_offload.enable=true \
|
||||
vendor.audio.feature.afe_proxy.enable=true \
|
||||
vendor.audio.feature.anc_headset.enable=false \
|
||||
vendor.audio.feature.battery_listener.enable=true \
|
||||
vendor.audio.feature.compr_cap.enable=false \
|
||||
vendor.audio.feature.compress_in.enable=true \
|
||||
vendor.audio.feature.compress_meta_data.enable=true \
|
||||
vendor.audio.feature.compr_voip.enable=false \
|
||||
vendor.audio.feature.concurrent_capture.enable=true \
|
||||
vendor.audio.feature.custom_stereo.enable=true \
|
||||
vendor.audio.feature.display_port.enable=true \
|
||||
vendor.audio.feature.dsm_feedback.enable=false \
|
||||
vendor.audio.feature.dynamic_ecns.enable=true \
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false \
|
||||
vendor.audio.feature.external_dsp.enable=false \
|
||||
vendor.audio.feature.external_speaker.enable=false \
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false \
|
||||
vendor.audio.feature.fluence.enable=true \
|
||||
vendor.audio.feature.fm.enable=true \
|
||||
vendor.audio.feature.hdmi_edid.enable=true \
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true \
|
||||
vendor.audio.feature.hfp.enable=true \
|
||||
vendor.audio.feature.hifi_audio.enable=false \
|
||||
vendor.audio.feature.hwdep_cal.enable=false \
|
||||
vendor.audio.feature.incall_music.enable=true \
|
||||
vendor.audio.feature.multi_voice_session.enable=true \
|
||||
vendor.audio.feature.keep_alive.enable=true \
|
||||
vendor.audio.feature.kpi_optimize.enable=true \
|
||||
vendor.audio.feature.maxx_audio.enable=false \
|
||||
vendor.audio.feature.ras.enable=true \
|
||||
vendor.audio.feature.record_play_concurency.enable=false \
|
||||
vendor.audio.feature.src_trkn.enable=true \
|
||||
vendor.audio.feature.spkr_prot.enable=true \
|
||||
vendor.audio.feature.ssrec.enable=true \
|
||||
vendor.audio.feature.usb_offload.enable=true \
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true \
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false \
|
||||
vendor.audio.feature.vbat.enable=true \
|
||||
vendor.audio.feature.wsa.enable=false \
|
||||
vendor.audio.feature.audiozoom.enable=false \
|
||||
vendor.audio.feature.snd_mon.enable=true
|
||||
|
||||
|
||||
# for HIDL related packages
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@2.0-service \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.soundtrigger@2.1-impl \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@4.0-util \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@4.0-impl \
|
||||
vendor.qti.hardware.audiohalext@1.0 \
|
||||
vendor.qti.hardware.audiohalext@1.0-impl \
|
||||
vendor.qti.hardware.audiohalext-utils
|
||||
|
||||
# enable audio hidl hal 5.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.common@5.0-util \
|
||||
android.hardware.audio@5.0-impl \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.audio.effect@5.0-impl
|
||||
|
||||
# enable audio hidl hal 6.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@6.0 \
|
||||
android.hardware.audio.common@6.0 \
|
||||
android.hardware.audio.common@6.0-util \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0 \
|
||||
android.hardware.audio.effect@6.0-impl
|
||||
|
||||
# enable sound trigger hidl hal 2.2
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
|
||||
# enable sound trigger hidl hal 2.3
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
|
||||
PRODUCT_PACKAGES_ENG += \
|
||||
VoicePrintTest \
|
||||
VoicePrintDemo
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
AudioSettings
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libaudiodevarb
|
||||
endif
|
||||
|
||||
ifeq ($(call is-vendor-board-platform,QCOM),true)
|
||||
ifeq ($(call is-platform-sdk-version-at-least,28),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libqti_resampler_headers \
|
||||
lib_soundmodel_headers \
|
||||
libqti_vraudio_headers
|
||||
endif
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_3D_AUDIO)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libvr_object_engine \
|
||||
libvr_amb_engine \
|
||||
libhoaeffects_csim
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libadpcmdec
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_GKI := true
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
Copyright (c) 2019-2020, 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.
|
||||
-->
|
||||
<configs>
|
||||
<!-- APM Configs -->
|
||||
<property name="audio.deep_buffer.media" value="true"/>
|
||||
<property name="audio.offload.disable" value="false"/>
|
||||
<property name="audio.offload.min.duration.secs" value="30"/>
|
||||
<property name="audio.offload.video" value="true"/>
|
||||
<property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
|
||||
<property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
|
||||
<property name="vendor.audio.av.streaming.offload.enable" value="false"/>
|
||||
<property name="vendor.audio.offload.track.enable" value="true"/>
|
||||
<property name="vendor.audio.offload.multiple.enabled" value="false"/>
|
||||
<property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
|
||||
<property name="vendor.voice.conc.fallbackpath" value=""/>
|
||||
<property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
|
||||
<property name="vendor.voice.path.for.pcm.voip" value="true"/>
|
||||
<property name="vendor.voice.playback.conc.disabled" value="false"/>
|
||||
<property name="vendor.voice.record.conc.disabled" value="false"/>
|
||||
<property name="vendor.voice.voip.conc.disabled" value="false"/>
|
||||
<flag name="audio_extn_formats_enabled" value="true" />
|
||||
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
|
||||
<flag name="use_xml_audio_policy_conf" value="true" />
|
||||
<flag name="voice_concurrency" value="false" />
|
||||
<flag name="afe_proxy_enabled" value="true" />
|
||||
<flag name="compress_voip_enabled" value="false" />
|
||||
<flag name="fm_power_opt" value="true" />
|
||||
<flag name="record_play_concurrency" value="false" />
|
||||
|
||||
<!-- AV Configs -->
|
||||
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
|
||||
<property name="vendor.audio.use.sw.ape.decoder" value="true"/>
|
||||
<property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
|
||||
<property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
|
||||
<property name="vendor.audio.hw.aac.encoder" value="true"/>
|
||||
<flag name="aac_adts_offload_enabled" value="true" />
|
||||
<flag name="alac_offload_enabled" value="true" />
|
||||
<flag name="ape_offload_enabled" value="true" />
|
||||
<flag name="flac_offload_enabled" value="true" />
|
||||
<flag name="pcm_offload_enabled_16" value="true" />
|
||||
<flag name="pcm_offload_enabled_24" value="true" />
|
||||
<flag name="qti_flac_decoder" value="true" />
|
||||
<flag name="vorbis_offload_enabled" value="true" />
|
||||
<flag name="wma_offload_enabled" value="true" />
|
||||
</configs>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
Copyright (c) 2019, 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.
|
||||
-->
|
||||
<configs>
|
||||
<!-- AHAL Configs -->
|
||||
</configs>
|
||||
@@ -0,0 +1,367 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
shoebox {
|
||||
path /vendor/lib/soundfx/libshoebox.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
shoebox {
|
||||
library shoebox
|
||||
uuid 1eab784c-1a36-4b2a-b7fc-e34c44cab89e
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, 2021, 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. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,126 @@
|
||||
# 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
|
||||
}
|
||||
proaudio {
|
||||
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69943
|
||||
}
|
||||
voip_rx {
|
||||
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|48000
|
||||
bit_width 16
|
||||
app_type 69946
|
||||
}
|
||||
deep_buffer {
|
||||
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
direct_pcm_16 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
direct_pcm_24 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
|
||||
bit_width 24
|
||||
app_type 69940
|
||||
}
|
||||
direct_pcm_32 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_32_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
|
||||
bit_width 32
|
||||
app_type 69942
|
||||
}
|
||||
compress_passthrough {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
|
||||
formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
|
||||
sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
|
||||
bit_width 16
|
||||
app_type 69941
|
||||
}
|
||||
compress_offload_16 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
formats AUDIO_FORMAT_MP3|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|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
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_MP3|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_PRO|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69940
|
||||
}
|
||||
}
|
||||
|
||||
inputs {
|
||||
record_16bit {
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69938
|
||||
}
|
||||
record_24bit {
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69948
|
||||
}
|
||||
record_32bit {
|
||||
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 32
|
||||
app_type 69949
|
||||
}
|
||||
record_compress_16 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69938
|
||||
}
|
||||
record_compress_24 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69948
|
||||
}
|
||||
record_compress_32 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 32
|
||||
app_type 69949
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,374 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<audioPolicyConfiguration version="1.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="true" 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="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_16_BIT"
|
||||
samplingRates="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="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="dynamic"
|
||||
samplingRates="dynamic" channelMasks="dynamic"/>
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_VORBIS"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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_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="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</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,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="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="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
@@ -0,0 +1,272 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2017, 2019, 2021, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!-- -Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!-- -Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!-- -SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<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="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>
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO 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="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 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_16_BIT"
|
||||
samplingRates="8000 16000 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 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 11025 12000 16000 22050 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</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="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC AUDIO_FORMAT_APTX_ADAPTIVE">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC AUDIO_FORMAT_APTX_ADAPTIVE">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC AUDIO_FORMAT_APTX_ADAPTIVE">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
</devicePort>
|
||||
<!-- TODO: Enable multi-channel recording -->
|
||||
<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>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- A2DP Input Audio HAL -->
|
||||
<module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
@@ -0,0 +1,330 @@
|
||||
<!-- Copyright (c) 2019, 2021, 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
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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 -->
|
||||
<defs>
|
||||
<card>
|
||||
<id>100</id>
|
||||
<name>monacovirtualsndcard</name>
|
||||
<pcm-device>
|
||||
<id>100</id>
|
||||
<name>PCM100</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>101</id>
|
||||
<name>PCM101</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>102</id>
|
||||
<name>PCM102</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>103</id>
|
||||
<name>PCM103</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>104</id>
|
||||
<name>PCM104</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<compress-device>
|
||||
<id>105</id>
|
||||
<name>COMPRESS105</name>
|
||||
<compress_plugin>
|
||||
<so-name>libagm_compress_plugin.so</so-name>
|
||||
</compress_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</compress-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>106</id>
|
||||
<name>VOICEMMODE1p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>107</id>
|
||||
<name>VOICEMMODE2p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
<pcm-device>
|
||||
<id>108</id>
|
||||
<name>VOICEMMODE1c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>109</id>
|
||||
<name>VOICEMMODE2c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>110</id>
|
||||
<name>PCM110</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>111</id>
|
||||
<name>PCM111</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>112</id>
|
||||
<name>PCM112</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>113</id>
|
||||
<name>PCM113</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>114</id>
|
||||
<name>PCM114</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>115</id>
|
||||
<name>PCM115</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>116</id>
|
||||
<name>PCM116</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>117</id>
|
||||
<name>PCM117</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>118</id>
|
||||
<name>PCM118</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<mixer>
|
||||
<id>1</id>
|
||||
<name>agm_mixer</name>
|
||||
<mixer_plugin>
|
||||
<so-name>libagm_mixer_plugin.so</so-name>
|
||||
</mixer_plugin>
|
||||
</mixer>
|
||||
|
||||
</card>
|
||||
</defs>
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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 -->
|
||||
|
||||
<mcs_defs>
|
||||
<device>
|
||||
<!-- SPEAKER -->
|
||||
<id>0xA2000001</id>
|
||||
<snd_device_name>speaker</snd_device_name>
|
||||
<back_end_name>MI2S-LPAIF_RXTX-RX-PRIMARY</back_end_name>
|
||||
<usecase>
|
||||
<!-- PCM_LL_PLAYBACK -->
|
||||
<type>0xA100000E</type>
|
||||
</usecase>
|
||||
</device>
|
||||
<device>
|
||||
<!-- SPEAKER MIC -->
|
||||
<id>0xA3000001</id>
|
||||
<snd_device_name>speaker-dmic-endfire</snd_device_name>
|
||||
<back_end_name>MI2S-LPAIF_VA-TX-PRIMARY</back_end_name>
|
||||
<usecase>
|
||||
<!-- PCM_RECORD -->
|
||||
<type>0xB1000001</type>
|
||||
</usecase>
|
||||
</device>
|
||||
<device>
|
||||
<!-- VI TX -->
|
||||
<id>0xA3000009</id>
|
||||
<snd_device_name>vi-feedback</snd_device_name>
|
||||
<back_end_name>MI2S-LPAIF_RXTX-TX-PRIMARY</back_end_name>
|
||||
<usecase>
|
||||
<!-- PCM_RECORD -->
|
||||
<type>0xB1000001</type>
|
||||
<!-- Add support for spkr_prot_vi_map based on number of speaker -->
|
||||
<!-- RIGHT_SPKR = 0 -->
|
||||
<!-- LEFT_SPKR = 1 -->
|
||||
<!-- STEREO_SPKR = 2 -->
|
||||
<ckv key="0xBF000000" value="0" />
|
||||
</usecase>
|
||||
</device>
|
||||
</mcs_defs>
|
||||
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Linux Foundation. All rights reserved
|
||||
Not a Contribution
|
||||
|
||||
Copyright (C) 2014 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.
|
||||
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
<Included>
|
||||
<Decoders>
|
||||
<!-- C2 audio decoders -->
|
||||
<MediaCodec name="c2.qti.alac.sw.decoder" type="audio/alac" rank="0">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.ape.sw.decoder" type="audio/x-ape" rank="0">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.evrc.sw.decoder" type="audio/evrc" rank="0">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="1-9600" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.qcelp.sw.decoder" type="audio/qcelp" rank="0">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="1-9600" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.flac.sw.decoder" type="audio/flac">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-9216000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.aac.hw.decoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="8000-1536000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.alac.hw.decoder" type="audio/alac" rank="1">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.wma.hw.decoder" type="audio/x-ms-wma" rank="0">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="8000-1536000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.ape.hw.decoder" type="audio/x-ape" rank="1">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-192000" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.amrwbplus.hw.decoder" type="audio/amr-wb-plus" rank="0">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="5200-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<!-- C2 audio encoders -->
|
||||
<MediaCodec name="c2.qti.amrnb.hw.encoder" type="audio/3gpp">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="4750-12200" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.amrwb.hw.encoder" type="audio/amr-wb">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="16000" />
|
||||
<Limit name="bitrate" range="6600-23850" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="special-codec" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.aac.hw.encoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="4000-192000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.evrc.hw.encoder" type="audio/evrc" rank="0">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="1-9600" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.qcelp.hw.encoder" type="audio/qcelp" rank="0">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="1-13600" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
||||
@@ -0,0 +1,576 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="Voice Rx Device Mute" id="0" value="0" />
|
||||
<ctl name="Voice Rx Device Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Device Mute" id="2" value="20" />
|
||||
<ctl name="Voice Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voice Tx Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Tx Mute" id="2" value="500" />
|
||||
<ctl name="Voice Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voice Rx Gain" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Gain" id="2" value="20" />
|
||||
<ctl name="Voice Sidetone Enable" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="1" value="500" />
|
||||
<ctl name="Voip Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voip Rx Gain" id="1" value="20" />
|
||||
<ctl name="Voip Mode Config" value="12" />
|
||||
<ctl name="Voip Rate Config" value="0" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
|
||||
<ctl name="Voip Dtx Mode" value="0" />
|
||||
<ctl name="TTY Mode" value="OFF" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="VI_FEED_TX Channels" value="Two" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Format" value="UNPACKED" />
|
||||
<!-- HFP start -->
|
||||
<ctl name="HFP_SLIM7_UL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<!-- HFP end -->
|
||||
<!-- echo reference -->
|
||||
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
|
||||
<ctl name="AUDIO_REF_EC_UL10 MUX" value="None" />
|
||||
<ctl name="EC Reference Channels" value="Zero"/>
|
||||
|
||||
<!-- Voice external ec. reference -->
|
||||
<ctl name="VOC_EXT_EC MUX" value="NONE" />
|
||||
<!-- Voice external ec. reference end -->
|
||||
|
||||
<!-- RT Proxy Cal -->
|
||||
<ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<!-- RT Proxy Cal end -->
|
||||
|
||||
<!-- compress-voip-call start -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0" />
|
||||
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="0" />
|
||||
<ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
|
||||
<!-- compress-voip-call end-->
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- ADSP testfwk -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<!-- ADSP testfwk end-->
|
||||
|
||||
<!-- Codec controls -->
|
||||
<!-- RX Controls -->
|
||||
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="0" />
|
||||
<ctl name="RX_COMP2 Switch" value="0" />
|
||||
<ctl name="SWR DAC_Port Switch" value="0" />
|
||||
<ctl name="VISENSE Switch" value="0" />
|
||||
|
||||
<!-- TX Controls -->
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX7" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Voice UI controls -->
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX1" value="ZERO" />
|
||||
|
||||
<!-- Volume controls -->
|
||||
<ctl name="RX_RX2 Digital Volume" value="84" />
|
||||
|
||||
<ctl name="TX_DEC0 Volume" value="102" />
|
||||
<ctl name="TX_DEC1 Volume" value="102" />
|
||||
<ctl name="TX_DEC2 Volume" value="102" />
|
||||
<ctl name="TX_DEC3 Volume" value="102" />
|
||||
<ctl name="TX_DEC4 Volume" value="84" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
<ctl name="TX_DEC6 Volume" value="84" />
|
||||
<ctl name="TX_DEC7 Volume" value="84" />
|
||||
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
|
||||
|
||||
<!-- IIR/voice anc -->
|
||||
<ctl name="IIR0 Band1" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band1" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band2" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band3" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band4" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band5" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="4" value="0" />
|
||||
<ctl name="IIR0 Enable Band1" value="0" />
|
||||
<ctl name="IIR0 Enable Band2" value="0" />
|
||||
<ctl name="IIR0 Enable Band3" value="0" />
|
||||
<ctl name="IIR0 Enable Band4" value="0" />
|
||||
<ctl name="IIR0 Enable Band5" value="0" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP2 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP3 MUX" value="ZERO" />
|
||||
|
||||
<!-- vbat related data -->
|
||||
<ctl name="RX_GSM mode Enable" value="OFF" />
|
||||
<ctl name="RX_Softclip Enable" value="0" />
|
||||
<ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0" />
|
||||
|
||||
<!-- Codec controls end -->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="dmic1">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="DMIC0" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic3">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic4">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT2_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<ctl name="VISENSE Switch" value="1" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX2" value="SWR_MIC10" />
|
||||
<ctl name="TX SMIC MUX3" value="SWR_MIC11" />
|
||||
<ctl name="RX SWR TX MUX0" value="RX_SWR_TX_PCM_IN0" />
|
||||
<ctl name="RX SWR TX MUX1" value="RX_SWR_TX_PCM_IN1" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
<ctl name="IIR0 Enable Band1" value="1" />
|
||||
<ctl name="IIR0 Enable Band2" value="1" />
|
||||
<ctl name="IIR0 Enable Band3" value="1" />
|
||||
<ctl name="IIR0 Enable Band4" value="1" />
|
||||
<ctl name="IIR0 Enable Band5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic"/>
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC7" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef-liquid">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-liquid-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-broadside">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,457 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="Voice Rx Device Mute" id="0" value="0" />
|
||||
<ctl name="Voice Rx Device Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Device Mute" id="2" value="20" />
|
||||
<ctl name="Voice Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voice Tx Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Tx Mute" id="2" value="500" />
|
||||
<ctl name="Voice Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voice Rx Gain" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Gain" id="2" value="20" />
|
||||
<ctl name="Voice Sidetone Enable" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="1" value="500" />
|
||||
<ctl name="Voip Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voip Rx Gain" id="1" value="20" />
|
||||
<ctl name="Voip Mode Config" value="12" />
|
||||
<ctl name="Voip Rate Config" value="0" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
|
||||
<ctl name="Voip Dtx Mode" value="0" />
|
||||
<ctl name="TTY Mode" value="OFF" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="VI_FEED_TX Channels" value="Two" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Format" value="UNPACKED" />
|
||||
<!-- HFP start -->
|
||||
<ctl name="HFP_SLIM7_UL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<!-- HFP end -->
|
||||
<!-- echo reference -->
|
||||
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
|
||||
<ctl name="AUDIO_REF_EC_UL10 MUX" value="None" />
|
||||
<ctl name="EC Reference Channels" value="Zero"/>
|
||||
|
||||
<!-- Voice external ec. reference -->
|
||||
<ctl name="VOC_EXT_EC MUX" value="NONE" />
|
||||
<!-- Voice external ec. reference end -->
|
||||
|
||||
<!-- RT Proxy Cal -->
|
||||
<ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<!-- RT Proxy Cal end -->
|
||||
|
||||
<!-- compress-voip-call start -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0" />
|
||||
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="0" />
|
||||
<ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
|
||||
<!-- compress-voip-call end-->
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- ADSP testfwk -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<!-- ADSP testfwk end-->
|
||||
|
||||
<!-- Codec controls -->
|
||||
<!-- RX Controls -->
|
||||
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="0" />
|
||||
<ctl name="RX_COMP2 Switch" value="0" />
|
||||
<ctl name="SWR DAC_Port Switch" value="0" />
|
||||
<ctl name="VISENSE Switch" value="0" />
|
||||
|
||||
<!-- TX Controls -->
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX7" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Voice UI controls -->
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX1" value="ZERO" />
|
||||
|
||||
<!-- Volume controls -->
|
||||
<ctl name="RX_RX2 Digital Volume" value="84" />
|
||||
|
||||
<ctl name="TX_DEC0 Volume" value="102" />
|
||||
<ctl name="TX_DEC1 Volume" value="102" />
|
||||
<ctl name="TX_DEC2 Volume" value="102" />
|
||||
<ctl name="TX_DEC3 Volume" value="102" />
|
||||
<ctl name="TX_DEC4 Volume" value="84" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
<ctl name="TX_DEC6 Volume" value="84" />
|
||||
<ctl name="TX_DEC7 Volume" value="84" />
|
||||
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
|
||||
|
||||
<!-- IIR/voice anc -->
|
||||
<ctl name="IIR0 Band1" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band1" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band2" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band3" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band4" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band5" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="4" value="0" />
|
||||
<ctl name="IIR0 Enable Band1" value="0" />
|
||||
<ctl name="IIR0 Enable Band2" value="0" />
|
||||
<ctl name="IIR0 Enable Band3" value="0" />
|
||||
<ctl name="IIR0 Enable Band4" value="0" />
|
||||
<ctl name="IIR0 Enable Band5" value="0" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP2 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP3 MUX" value="ZERO" />
|
||||
|
||||
<!-- vbat related data -->
|
||||
<ctl name="RX_GSM mode Enable" value="OFF" />
|
||||
<ctl name="RX_Softclip Enable" value="0" />
|
||||
<ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0" />
|
||||
|
||||
<!-- Codec controls end -->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="amic1">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="TX DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX0" value="SWR_MIC10" />
|
||||
<ctl name="RX SWR TX MUX0" value="RX_SWR_TX_PCM_IN0" />
|
||||
<ctl name="ADC1_MIXER Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="amic2">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX1" value="SWR_MIC11" />
|
||||
<ctl name="RX SWR TX MUX1" value="RX_SWR_TX_PCM_IN0" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT2_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
<ctl name="IIR0 Enable Band1" value="1" />
|
||||
<ctl name="IIR0 Enable Band2" value="1" />
|
||||
<ctl name="IIR0 Enable Band3" value="1" />
|
||||
<ctl name="IIR0 Enable Band4" value="1" />
|
||||
<ctl name="IIR0 Enable Band5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,459 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="ZERO" />
|
||||
<ctl name="TXCH1 Switch" value="0" />
|
||||
<ctl name="TX1_INP_MUX" value="ZERO" />
|
||||
<ctl name="DMIC1_MUX" value="ZERO"/>
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="ZERO" />
|
||||
<ctl name="TXCH0 Switch" value="0" />
|
||||
<ctl name="TX0_INP_MUX" value="ZERO" />
|
||||
<ctl name="DMIC0_MUX" value="ZERO"/>
|
||||
<ctl name="CDC_RX0_MUX" value="ZERI" />
|
||||
<ctl name="RX0_SWITCH Switch" value="0" />
|
||||
<ctl name="LP_DEC1_MUX" value="ZERO" />
|
||||
<ctl name="LP_DEC0_MUX" value="ZERO" />
|
||||
<ctl name="VA_PCM0_MUX" value="ZERO" />
|
||||
<ctl name="VA_PCM1_MUX" value="ZERO" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="0" />
|
||||
<ctl name="VA_CAP_MIXER PCM_1" value="0" />
|
||||
<ctl name="SPKR_OUT_S Switch" value="0" />
|
||||
<ctl name="DMIC0_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC2_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC3_IN_S Switch" value="0" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_OFF" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_OFF" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
<ctl name="V_IN_S Switch" value="0" />
|
||||
<ctl name="TX2_INP_MUX" value="ZERO" />
|
||||
<ctl name="TXCH2 Switch" value="0" />
|
||||
<ctl name="CDC_TX2_RDDMA0_P2_MUX" value="ZERO" />
|
||||
<ctl name="I2S0_D3_R_MUX" value="ZERO" />
|
||||
<ctl name="VI_SENS_MIX V_SENS" value="0" />
|
||||
<ctl name="I_IN_S Switch" value="0" />
|
||||
<ctl name="TX3_INP_MUX" value="ZERO" />
|
||||
<ctl name="TXCH3 Switch" value="0" />
|
||||
<ctl name="CDC_TX3_RDDMA0_P3_MUX" value="ZERO" />
|
||||
<ctl name="I2S0_D3_L_MUX" value="ZERO" />
|
||||
<ctl name="VI_SENS_MIX I_SENS" value="0" />
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="dmic1">
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="CDC_TX1" />
|
||||
<ctl name="TXCH1 Switch" value="1" />
|
||||
<ctl name="TX1_PGA_GAIN" value="205" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="DMIC1_MUX" value="DMIC1"/>
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="CDC_TX0" />
|
||||
<ctl name="TXCH0 Switch" value="1" />
|
||||
<ctl name="TX0_PGA_GAIN" value="205" />
|
||||
<ctl name="TX0_INP_MUX" value="DMIC_0" />
|
||||
<ctl name="DMIC0_MUX" value="DMIC3"/>
|
||||
<ctl name="DMIC3_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="CDC_RX0_MUX" value="I2S0_D2_L" />
|
||||
<ctl name="RX0_SWITCH Switch" value="1" />
|
||||
<ctl name="SPKR_OUT_S Switch" value="1" />
|
||||
<ctl name="RX0_PGA_GAIN" value="169" />
|
||||
</path>
|
||||
|
||||
<path name="v-sens">
|
||||
<ctl name="V_IN_S Switch" value="1" />
|
||||
<ctl name="TX2_INP_MUX" value="SWR_HQ2" />
|
||||
<ctl name="TXCH2 Switch" value="1" />
|
||||
<ctl name="CDC_TX2_RDDMA0_P2_MUX" value="CDC_TX2" />
|
||||
<ctl name="I2S0_D3_R_MUX" value="CDC_TX2_RDDMA0_P2" />
|
||||
<ctl name="VI_SENS_MIX V_SENS" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="i-sens">
|
||||
<ctl name="I_IN_S Switch" value="1" />
|
||||
<ctl name="TX3_INP_MUX" value="SWR_HQ3" />
|
||||
<ctl name="TXCH3 Switch" value="1" />
|
||||
<ctl name="CDC_TX3_RDDMA0_P3_MUX" value="CDC_TX3" />
|
||||
<ctl name="I2S0_D3_L_MUX" value="CDC_TX3_RDDMA0_P3" />
|
||||
<ctl name="VI_SENS_MIX I_SENS" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback">
|
||||
<path name="v-sens" />
|
||||
<path name="i-sens" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="DMIC0_MUX" value="DMIC1" />
|
||||
<ctl name="DMIC1_MUX" value="DMIC3" />
|
||||
<ctl name="TX0_INP_MUX" value="DMIC_0" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="LP_DEC1_MUX" value="PDM_0" />
|
||||
<ctl name="LP_DEC0_MUX" value="PDM_1" />
|
||||
<ctl name="VA_PCM0_MUX" value="LP_TX_0" />
|
||||
<ctl name="VA_PCM1_MUX" value="LP_TX_1" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="1" />
|
||||
<ctl name="VA_CAP_MIXER PCM_1" value="1" />
|
||||
<ctl name="DMIC3_IN_S Switch" value="1" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="DMIC1_MUX" value="DMIC1" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="LP_DEC0_MUX" value="PDM_1" />
|
||||
<ctl name="VA_PCM0_MUX" value="LP_TX_0" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="1" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic-hw">
|
||||
<path name="va-mic-dmic" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic-ld">
|
||||
<path name="va-mic-dmic" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-hw">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-ld">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
<path name="speaker-vbat-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
<path name="speaker-vbat-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef-liquid">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-liquid-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-broadside">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,396 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="ZERO" />
|
||||
<ctl name="TXCH1 Switch" value="0" />
|
||||
<ctl name="TX1_INP_MUX" value="ZERO" />
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="ZERO" />
|
||||
<ctl name="TXCH0 Switch" value="0" />
|
||||
<ctl name="TX0_INP_MUX" value="ZERO" />
|
||||
|
||||
<ctl name="CDC_RX0_MUX" value="ZERO" />
|
||||
<ctl name="RX0_SWITCH Switch" value="0" />
|
||||
<ctl name="SWR_DAC_PORT_0 Switch" value="0" />
|
||||
<ctl name="SPKR_OUT_S Switch" value="0" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
<ctl name="AMIC_1_S Switch" value="0" />
|
||||
<ctl name="AMIC_0_S Switch" value="0" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_OFF" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_OFF" />
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="amic1">
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="CDC_TX1" />
|
||||
<ctl name="TXCH1 Switch" value="1" />
|
||||
<ctl name="TX1_PGA_GAIN" value="205" />
|
||||
<ctl name="TX1_INP_MUX" value="SWR_HQ1" />
|
||||
<ctl name="AMIC_1_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="amic2">
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="CDC_TX0" />
|
||||
<ctl name="TXCH0 Switch" value="1" />
|
||||
<ctl name="TX0_PGA_GAIN" value="205" />
|
||||
<ctl name="TX0_INP_MUX" value="SWR_HQ0" />
|
||||
<ctl name="AMIC_0_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="CDC_RX0_MUX" value="I2S0_D2_L" />
|
||||
<ctl name="RX0_SWITCH Switch" value="1" />
|
||||
<ctl name="SWR_DAC_PORT_0 Switch" value="1" />
|
||||
<ctl name="RX0_PGA_GAIN" value="169" />
|
||||
<ctl name="SPKR_OUT_S Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<path name="amic1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-hw">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-ld">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-hw">
|
||||
<path name="va-mic" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-ld">
|
||||
<path name="va-mic" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
<path name="speaker-vbat-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
<path name="speaker-vbat-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-amic-endfire">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-amic-endfire">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="amic-endfire">
|
||||
<path name="handset-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="amic-endfire-liquid">
|
||||
<path name="handset-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-amic-ef">
|
||||
<path name="handset-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-amic-ef">
|
||||
<path name="speaker-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-amic-ef-tmus">
|
||||
<path name="amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-amic-ef">
|
||||
<path name="amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-amic-ef">
|
||||
<path name="speaker-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-amic-ef">
|
||||
<path name="amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-amic-ef-fluence">
|
||||
<path name="amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-amic-ef-liquid">
|
||||
<path name="handset-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-amic-ef-liquid">
|
||||
<path name="speaker-amic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-amic-ef-liquid-liquid">
|
||||
<path name="amic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-amic-ef-liquid">
|
||||
<path name="amic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-amic-ef-liquid">
|
||||
<path name="amic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-amic-ef-fluence-liquid">
|
||||
<path name="amic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-amic-broadside">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="amic-broadside">
|
||||
<path name="speaker-amic-broadside" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-amic-broadside">
|
||||
<path name="amic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="amic1" />
|
||||
<path name="amic2" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,459 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="ZERO" />
|
||||
<ctl name="TXCH1 Switch" value="0" />
|
||||
<ctl name="TX1_INP_MUX" value="ZERO" />
|
||||
<ctl name="DMIC1_MUX" value="ZERO"/>
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="0" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="ZERO" />
|
||||
<ctl name="TXCH0 Switch" value="0" />
|
||||
<ctl name="TX0_INP_MUX" value="ZERO" />
|
||||
<ctl name="DMIC0_MUX" value="ZERO"/>
|
||||
<ctl name="CDC_RX0_MUX" value="ZERI" />
|
||||
<ctl name="RX0_SWITCH Switch" value="0" />
|
||||
<ctl name="LP_DEC1_MUX" value="ZERO" />
|
||||
<ctl name="LP_DEC0_MUX" value="ZERO" />
|
||||
<ctl name="VA_PCM0_MUX" value="ZERO" />
|
||||
<ctl name="VA_PCM1_MUX" value="ZERO" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="0" />
|
||||
<ctl name="VA_CAP_MIXER PCM_1" value="0" />
|
||||
<ctl name="SPKR_OUT_0_S Switch" value="0" />
|
||||
<ctl name="DMIC0_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC2_IN_S Switch" value="0" />
|
||||
<ctl name="DMIC3_IN_S Switch" value="0" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_OFF" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_OFF" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
<ctl name="V_IN_S Switch" value="0" />
|
||||
<ctl name="TX2_INP_MUX" value="ZERO" />
|
||||
<ctl name="TXCH2 Switch" value="0" />
|
||||
<ctl name="CDC_TX2_RDDMA0_P2_MUX" value="ZERO" />
|
||||
<ctl name="I2S0_D3_R_MUX" value="ZERO" />
|
||||
<ctl name="VI_SENS_MIX V_SENS" value="0" />
|
||||
<ctl name="I_IN_S Switch" value="0" />
|
||||
<ctl name="TX3_INP_MUX" value="ZERO" />
|
||||
<ctl name="TXCH3 Switch" value="0" />
|
||||
<ctl name="CDC_TX3_RDDMA0_P3_MUX" value="ZERO" />
|
||||
<ctl name="I2S0_D3_L_MUX" value="ZERO" />
|
||||
<ctl name="VI_SENS_MIX I_SENS" value="0" />
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="dmic1">
|
||||
<ctl name="TX0_MIXER TX0_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_L_MUX" value="CDC_TX1" />
|
||||
<ctl name="TXCH1 Switch" value="1" />
|
||||
<ctl name="TX1_PGA_GAIN" value="205" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="DMIC1_MUX" value="DMIC1"/>
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX0_MIXER TX1_CAP" value="1" />
|
||||
<ctl name="I2S0_D0_R_MUX" value="CDC_TX0" />
|
||||
<ctl name="TXCH0 Switch" value="1" />
|
||||
<ctl name="TX0_PGA_GAIN" value="205" />
|
||||
<ctl name="TX0_INP_MUX" value="DMIC_0" />
|
||||
<ctl name="DMIC0_MUX" value="DMIC3"/>
|
||||
<ctl name="DMIC3_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="CDC_RX0_MUX" value="I2S0_D2_L" />
|
||||
<ctl name="RX0_SWITCH Switch" value="1" />
|
||||
<ctl name="SPKR_OUT_0_S Switch" value="1" />
|
||||
<ctl name="RX0_PGA_GAIN" value="169" />
|
||||
</path>
|
||||
|
||||
<path name="v-sens">
|
||||
<ctl name="V_IN_S Switch" value="1" />
|
||||
<ctl name="TX2_INP_MUX" value="SWR_HQ2" />
|
||||
<ctl name="TXCH2 Switch" value="1" />
|
||||
<ctl name="CDC_TX2_RDDMA0_P2_MUX" value="CDC_TX2" />
|
||||
<ctl name="I2S0_D3_R_MUX" value="CDC_TX2_RDDMA0_P2" />
|
||||
<ctl name="VI_SENS_MIX V_SENS" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="i-sens">
|
||||
<ctl name="I_IN_S Switch" value="1" />
|
||||
<ctl name="TX3_INP_MUX" value="SWR_HQ3" />
|
||||
<ctl name="TXCH3 Switch" value="1" />
|
||||
<ctl name="CDC_TX3_RDDMA0_P3_MUX" value="CDC_TX3" />
|
||||
<ctl name="I2S0_D3_L_MUX" value="CDC_TX3_RDDMA0_P3" />
|
||||
<ctl name="VI_SENS_MIX I_SENS" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="vi-feedback">
|
||||
<path name="v-sens" />
|
||||
<path name="i-sens" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="DMIC0_MUX" value="DMIC1" />
|
||||
<ctl name="DMIC1_MUX" value="DMIC3" />
|
||||
<ctl name="TX0_INP_MUX" value="DMIC_0" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="LP_DEC1_MUX" value="PDM_0" />
|
||||
<ctl name="LP_DEC0_MUX" value="PDM_1" />
|
||||
<ctl name="VA_PCM0_MUX" value="LP_TX_0" />
|
||||
<ctl name="VA_PCM1_MUX" value="LP_TX_1" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="1" />
|
||||
<ctl name="VA_CAP_MIXER PCM_1" value="1" />
|
||||
<ctl name="DMIC3_IN_S Switch" value="1" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
<ctl name="BB_MIC_BIAS2" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="DMIC1_MUX" value="DMIC1" />
|
||||
<ctl name="TX1_INP_MUX" value="DMIC_1" />
|
||||
<ctl name="LP_DEC0_MUX" value="PDM_1" />
|
||||
<ctl name="VA_PCM0_MUX" value="LP_TX_0" />
|
||||
<ctl name="VA_CAP_MIXER PCM_0" value="1" />
|
||||
<ctl name="DMIC1_IN_S Switch" value="1" />
|
||||
<ctl name="BB_MIC_BIAS1" value="BIAS_ON" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic-hw">
|
||||
<path name="va-mic-dmic" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic-ld">
|
||||
<path name="va-mic-dmic" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-hw">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="HW_VAD" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono-ld">
|
||||
<path name="va-mic-mono" />
|
||||
<ctl name="VAD_OP_MODE" value="LVL_DETECTOR" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic" />
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
<path name="speaker-vbat-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
<path name="speaker-vbat-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef-liquid">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-liquid-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-broadside">
|
||||
<path name="dmic1" />
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic2" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -0,0 +1,576 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2021, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!---Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!---Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!---SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<ctl name="Voice Rx Device Mute" id="0" value="0" />
|
||||
<ctl name="Voice Rx Device Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Device Mute" id="2" value="20" />
|
||||
<ctl name="Voice Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voice Tx Mute" id="1" value="-1" />
|
||||
<ctl name="Voice Tx Mute" id="2" value="500" />
|
||||
<ctl name="Voice Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voice Rx Gain" id="1" value="-1" />
|
||||
<ctl name="Voice Rx Gain" id="2" value="20" />
|
||||
<ctl name="Voice Sidetone Enable" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="0" value="0" />
|
||||
<ctl name="Voip Tx Mute" id="1" value="500" />
|
||||
<ctl name="Voip Rx Gain" id="0" value="0" />
|
||||
<ctl name="Voip Rx Gain" id="1" value="20" />
|
||||
<ctl name="Voip Mode Config" value="12" />
|
||||
<ctl name="Voip Rate Config" value="0" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
|
||||
<ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
|
||||
<ctl name="Voip Dtx Mode" value="0" />
|
||||
<ctl name="TTY Mode" value="OFF" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
|
||||
<ctl name="VI_FEED_TX Channels" value="Two" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED" />
|
||||
<ctl name="TX_CDC_DMA_TX_3 Format" value="UNPACKED" />
|
||||
<!-- HFP start -->
|
||||
<ctl name="HFP_SLIM7_UL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0" />
|
||||
<!-- HFP end -->
|
||||
<!-- echo reference -->
|
||||
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
|
||||
<ctl name="AUDIO_REF_EC_UL10 MUX" value="None" />
|
||||
<ctl name="EC Reference Channels" value="Zero"/>
|
||||
|
||||
<!-- Voice external ec. reference -->
|
||||
<ctl name="VOC_EXT_EC MUX" value="NONE" />
|
||||
<!-- Voice external ec. reference end -->
|
||||
|
||||
<!-- RT Proxy Cal -->
|
||||
<ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
|
||||
<!-- RT Proxy Cal end -->
|
||||
|
||||
<!-- compress-voip-call start -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0" />
|
||||
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="0" />
|
||||
<ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
|
||||
<!-- compress-voip-call end-->
|
||||
|
||||
<!-- split a2dp -->
|
||||
<ctl name="BT SampleRate" value="KHZ_8" />
|
||||
<ctl name="AFE Input Channels" value="Zero" />
|
||||
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
|
||||
<!-- split a2dp end-->
|
||||
|
||||
<!-- ADSP testfwk -->
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0" />
|
||||
<!-- ADSP testfwk end-->
|
||||
|
||||
<!-- Codec controls -->
|
||||
<!-- RX Controls -->
|
||||
<ctl name="RX_MACRO RX0 MUX" value="ZERO" />
|
||||
<ctl name="RX_MACRO RX1 MUX" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT0_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP1" value="ZERO" />
|
||||
<ctl name="RX INT1_1 MIX1 INP2" value="ZERO" />
|
||||
<ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT" />
|
||||
<ctl name="RX_COMP1 Switch" value="0" />
|
||||
<ctl name="RX_COMP2 Switch" value="0" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="0" />
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="0" />
|
||||
|
||||
<!-- TX Controls -->
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC4" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX0" value="ZERO" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX1" value="ZERO" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX2" value="ZERO" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX3" value="ZERO" />
|
||||
<ctl name="TX DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX4" value="ZERO" />
|
||||
<ctl name="TX DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX5" value="ZERO" />
|
||||
<ctl name="TX DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX6" value="ZERO" />
|
||||
<ctl name="TX DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX7" value="ZERO" />
|
||||
<ctl name="TX SMIC MUX7" value="ZERO" />
|
||||
|
||||
<!-- Voice UI controls -->
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX1" value="ZERO" />
|
||||
|
||||
<!-- Volume controls -->
|
||||
<ctl name="RX_RX2 Digital Volume" value="84" />
|
||||
|
||||
<ctl name="TX_DEC0 Volume" value="102" />
|
||||
<ctl name="TX_DEC1 Volume" value="102" />
|
||||
<ctl name="TX_DEC2 Volume" value="102" />
|
||||
<ctl name="TX_DEC3 Volume" value="102" />
|
||||
<ctl name="TX_DEC4 Volume" value="84" />
|
||||
<ctl name="TX_DEC5 Volume" value="84" />
|
||||
<ctl name="TX_DEC6 Volume" value="84" />
|
||||
<ctl name="TX_DEC7 Volume" value="84" />
|
||||
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
|
||||
|
||||
<!-- IIR/voice anc -->
|
||||
<ctl name="IIR0 Band1" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band1" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band1" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band2" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band2" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band3" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band3" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band4" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band4" id ="4" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="0" value="268435456" />
|
||||
<ctl name="IIR0 Band5" id ="1" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="2" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="3" value="0" />
|
||||
<ctl name="IIR0 Band5" id ="4" value="0" />
|
||||
<ctl name="IIR0 Enable Band1" value="0" />
|
||||
<ctl name="IIR0 Enable Band2" value="0" />
|
||||
<ctl name="IIR0 Enable Band3" value="0" />
|
||||
<ctl name="IIR0 Enable Band4" value="0" />
|
||||
<ctl name="IIR0 Enable Band5" value="0" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP2 MUX" value="ZERO" />
|
||||
<ctl name="IIR0 INP3 MUX" value="ZERO" />
|
||||
|
||||
<!-- vbat related data -->
|
||||
<ctl name="RX_GSM mode Enable" value="OFF" />
|
||||
<ctl name="RX_Softclip Enable" value="0" />
|
||||
<ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0" />
|
||||
|
||||
<!-- Codec controls end -->
|
||||
|
||||
<!-- These are actual sound device specific mixer settings -->
|
||||
<path name="dmic1">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="TX DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX0" value="DMIC0" />
|
||||
</path>
|
||||
|
||||
<path name="dmic2">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="TX DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX1" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic3">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX2" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic4">
|
||||
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="TX DMIC MUX3" value="DMIC3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="RX_MACRO RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="RX INT2_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<ctl name="SpkrLeft VISENSE Switch" value="1" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="TX_AIF2_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
|
||||
<ctl name="TX SMIC MUX2" value="SWR_MIC10" />
|
||||
<ctl name="TX SMIC MUX3" value="SWR_MIC11" />
|
||||
<ctl name="RX SWR TX MUX0" value="RX_SWR_TX_PCM_IN0" />
|
||||
<ctl name="RX SWR TX MUX1" value="RX_SWR_TX_PCM_IN1" />
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mono-2">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-iir">
|
||||
<ctl name="IIR0 Enable Band1" value="1" />
|
||||
<ctl name="IIR0 Enable Band2" value="1" />
|
||||
<ctl name="IIR0 Enable Band3" value="1" />
|
||||
<ctl name="IIR0 Enable Band4" value="1" />
|
||||
<ctl name="IIR0 Enable Band5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-handset">
|
||||
<path name="sidetone-iir" />
|
||||
<ctl name="IIR0 INP0 Volume" value="54" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
<ctl name="RX INT0 MIX2 INP" value="SRC0" />
|
||||
</path>
|
||||
|
||||
<path name="afe-sidetone">
|
||||
<ctl name="Voice Sidetone Enable" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-liquid">
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic-sbc">
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-dmic">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic-mono">
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
</path>
|
||||
|
||||
<path name="va-mic">
|
||||
<path name="va-mic-dmic"/>
|
||||
</path>
|
||||
|
||||
<path name="hph-highquality-mode">
|
||||
</path>
|
||||
|
||||
<path name="hph-lowpower-mode">
|
||||
</path>
|
||||
|
||||
<path name="true-native-mode">
|
||||
</path>
|
||||
|
||||
<path name="voice-handset">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-handset-tmus-hdk">
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-stereo">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2">
|
||||
<path name="speaker-mono-2" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-hdk">
|
||||
<path name="speaker-mono" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-fluid">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-2-vbat">
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-mic">
|
||||
<path name="speaker-mic" />
|
||||
</path>
|
||||
|
||||
<path name="afe-proxy">
|
||||
</path>
|
||||
|
||||
<path name="display-port">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-display-port">
|
||||
<path name="speaker" />
|
||||
<path name="display-port" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="camcorder-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-mic-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-wb">
|
||||
</path>
|
||||
|
||||
<path name="bt-sco-swb">
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp-mic">
|
||||
</path>
|
||||
|
||||
<path name="capture-fm">
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC2" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-endfire-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC7" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-tmus">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence">
|
||||
<path name="dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="handset-stereo-dmic-ef-liquid">
|
||||
<path name="handset-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-stereo-dmic-ef-liquid">
|
||||
<path name="speaker-dmic-endfire" />
|
||||
</path>
|
||||
|
||||
<path name="voice-dmic-ef-liquid-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="voice-rec-dmic-ef-fluence-liquid">
|
||||
<path name="dmic-endfire-liquid" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-broadside">
|
||||
<path name="dmic3" />
|
||||
<path name="dmic1" />
|
||||
</path>
|
||||
|
||||
<path name="dmic-broadside">
|
||||
<path name="speaker-dmic-broadside" />
|
||||
<ctl name="IIR0 INP0 MUX" value="DEC1" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-dmic-broadside">
|
||||
<path name="dmic-broadside" />
|
||||
</path>
|
||||
|
||||
<!-- TTY devices -->
|
||||
|
||||
<path name="voice-tty-hco-handset">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-hco-handset-hdk">
|
||||
<ctl name="TTY Mode" value="HCO" />
|
||||
<path name="handset" />
|
||||
</path>
|
||||
|
||||
<path name="voice-tty-vco-handset-mic">
|
||||
<path name="dmic3" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-handset-mic">
|
||||
<path name="handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-mic">
|
||||
<path name="unprocessed-handset-mic" />
|
||||
</path>
|
||||
|
||||
<path name="unprocessed-stereo-mic">
|
||||
<path name="voice-rec-dmic-ef" />
|
||||
</path>
|
||||
|
||||
<!-- Added for ADSP testfwk -->
|
||||
<path name="ADSP testfwk">
|
||||
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="bt-a2dp">
|
||||
</path>
|
||||
|
||||
<path name="speaker-and-bt-a2dp">
|
||||
<path name="speaker" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-safe-and-bt-a2dp">
|
||||
<path name="speaker-safe" />
|
||||
<path name="bt-a2dp" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
675
qcom/opensource/audio-hal/primary-hal/configs/monaco/monaco.mk
Normal file
675
qcom/opensource/audio-hal/primary-hal/configs/monaco/monaco.mk
Normal file
@@ -0,0 +1,675 @@
|
||||
#BOARD_USES_GENERIC_AUDIO := true
|
||||
#
|
||||
#AUDIO_FEATURE_FLAGS
|
||||
ifeq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO), false)
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
AUDIO_USE_STUB_HAL := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(AUDIO_USE_STUB_HAL), true)
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_ANDROID), true)
|
||||
AUDIO_FEATURE_ENABLED_CODEC_2_0 := true
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
|
||||
AUDIO_FEATURE_ENABLED_CONCURRENT_CAPTURE := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_MPEGH_SW_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_CODEC_2_0), true)
|
||||
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
|
||||
endif
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := false
|
||||
MM_AUDIO_ENABLED_SAFX := true
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
||||
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
|
||||
ifeq ($(filter R% r%,$(TARGET_PLATFORM_VERSION)),)
|
||||
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
|
||||
endif
|
||||
AUDIO_FEATURE_ENABLED_AHAL_EXT := true
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
DOLBY_ENABLE := false
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_SUPPORTS_GCS := false
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
|
||||
#AUDIO_FEATURE_ENABLED_KEEP_ALIVE := true
|
||||
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := false
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_RAS := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_AON),true)
|
||||
AUDIO_FEATURE_ENABLE_BT_A2DP_LPI := true
|
||||
AUDIO_FEATURE_ENABLED_MCS := true
|
||||
endif
|
||||
TARGET_USES_QTI_TINYCOMPRESS := true
|
||||
##AUDIO_FEATURE_FLAGS
|
||||
#AGM
|
||||
AUDIO_AGM := libagmclient
|
||||
AUDIO_AGM += libagmservice
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-impl
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service
|
||||
AUDIO_AGM += vendor.qti.hardware.AGMIPC@1.0-service.rc
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
AUDIO_AGM += agmcompresscap
|
||||
AUDIO_AGM += agmvoiceui
|
||||
AUDIO_AGM += agmhostless
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += catf
|
||||
AUDIO_PAL += libaudiochargerlistener
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += lib_bt_ble
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
|
||||
AUDIO_HARDWARE += audio.usb.default
|
||||
AUDIO_HARDWARE += audio.r_submix.default
|
||||
AUDIO_HARDWARE += audio.primary.monaco
|
||||
AUDIO_HARDWARE += libhfp_pal
|
||||
|
||||
#HAL Wrapper
|
||||
AUDIO_WRAPPER := libqahw
|
||||
AUDIO_WRAPPER += libqahwwrapper
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_CODEC_2_0), true)
|
||||
#PAL Service
|
||||
AUDIO_PAL += libpalclient
|
||||
AUDIO_PAL += vendor.qti.hardware.pal@1.0-impl
|
||||
|
||||
# C2 Audio
|
||||
AUDIO_C2 := libqc2audio_base
|
||||
AUDIO_C2 += libqc2audio_utils
|
||||
AUDIO_C2 += libqc2audio_platform
|
||||
AUDIO_C2 += libqc2audio_core
|
||||
AUDIO_C2 += libqc2audio_basecodec
|
||||
AUDIO_C2 += libqc2audio_hooks
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec_data_common
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec_data_common
|
||||
AUDIO_C2 += vendor.qti.media.c2audio@1.0-service
|
||||
AUDIO_C2 += qc2audio_test
|
||||
AUDIO_C2 += libEvrcSwCodec
|
||||
AUDIO_C2 += libQcelp13SwCodec
|
||||
endif
|
||||
|
||||
#HAL Test app
|
||||
AUDIO_HAL_TEST_APPS := hal_play_test
|
||||
AUDIO_HAL_TEST_APPS += hal_rec_test
|
||||
|
||||
PRODUCT_PACKAGES += $(AUDIO_HARDWARE)
|
||||
PRODUCT_PACKAGES += $(AUDIO_WRAPPER)
|
||||
PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS)
|
||||
PRODUCT_PACKAGES += ftm_test_config
|
||||
PRODUCT_PACKAGES += ftm_test_config_monaco-idp-snd-card
|
||||
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco_slate.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco_slate.qwsp
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco_slate_amic.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco_slate_amic.qwsp
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco_slate_wsa.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco_slate_wsa.qwsp
|
||||
PRODUCT_PACKAGES += fai__2.6.0_0.0__3.0.0_0.0__eai_1.10.pmd
|
||||
PRODUCT_PACKAGES += fai__3.0.0_0.0__eai_1.10.pmd
|
||||
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco.qwsp
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco_amic.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco_amic.qwsp
|
||||
PRODUCT_PACKAGES += IDP_acdb_cal_monaco_wsa.acdb
|
||||
PRODUCT_PACKAGES += IDP_workspaceFileXml_monaco_wsa.qwsp
|
||||
|
||||
PRODUCT_PACKAGES += mm-audio-ftm
|
||||
PRODUCT_PACKAGES += libvui_dmgr
|
||||
PRODUCT_PACKAGES += libvui_dmgr_client
|
||||
PRODUCT_PACKAGES += qsap_voiceui
|
||||
PRODUCT_PACKAGES += qsap_voiceui.policy
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MCS)), true)
|
||||
PRODUCT_PACKAGES += libmcs
|
||||
endif
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_DLKM),true)
|
||||
BOARD_VENDOR_KERNEL_MODULES += \
|
||||
$(KERNEL_MODULES_OUT)/spf_core_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_pkt_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/gpr_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_prm_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/audpkt_ion_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/q6_pdr_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/q6_notifier_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/adsp_loader_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/pinctrl_lpi_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/swr_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/wcd_core_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/swr_ctrl_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/stub_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/wcd9xxx_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/bolero_cdc_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/va_macro_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/rx_macro_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/tx_macro_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/pmw5100-spmi_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/besbev_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/besbev-slave_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/wsa883x_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/machine_dlkm.ko\
|
||||
$(KERNEL_MODULES_OUT)/snd_event_dlkm.ko
|
||||
endif
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_DLKM),true)
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_AON),true)
|
||||
BOARD_VENDOR_KERNEL_MODULES += \
|
||||
$(KERNEL_MODULES_OUT)/cc_dlkm.ko \
|
||||
$(KERNEL_MODULES_OUT)/audio_cc_ipc_dlkm.ko
|
||||
endif
|
||||
endif
|
||||
|
||||
#Audio DLKM
|
||||
AUDIO_DLKM := spf_core_dlkm.ko
|
||||
AUDIO_DLKM += audio_pkt_dlkm.ko
|
||||
AUDIO_DLKM += gpr_dlkm.ko
|
||||
AUDIO_DLKM += audio_prm_dlkm.ko
|
||||
AUDIO_DLKM += audpkt_ion_dlkm.ko
|
||||
AUDIO_DLKM += q6_pdr_dlkm.ko
|
||||
AUDIO_DLKM += q6_notifier_dlkm.ko
|
||||
AUDIO_DLKM += adsp_loader_dlkm.ko
|
||||
AUDIO_DLKM += pinctrl_lpi_dlkm.ko
|
||||
AUDIO_DLKM += swr_dlkm.ko
|
||||
AUDIO_DLKM += wcd_core_dlkm.ko
|
||||
AUDIO_DLKM += swr_ctrl_dlkm.ko
|
||||
AUDIO_DLKM += stub_dlkm.ko
|
||||
AUDIO_DLKM += wcd9xxx_dlkm.ko
|
||||
AUDIO_DLKM += bolero_cdc_dlkm.ko
|
||||
AUDIO_DLKM += va_macro_dlkm.ko
|
||||
AUDIO_DLKM += rx_macro_dlkm.ko
|
||||
AUDIO_DLKM += tx_macro_dlkm.ko
|
||||
AUDIO_DLKM += pmw5100-spmi_dlkm.ko
|
||||
AUDIO_DLKM += besbev_dlkm.ko
|
||||
AUDIO_DLKM += besbev-slave_dlkm.ko
|
||||
AUDIO_DLKM += wsa883x_dlkm.ko
|
||||
AUDIO_DLKM += machine_dlkm.ko
|
||||
AUDIO_DLKM += snd_event_dlkm.ko
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_AON),true)
|
||||
AUDIO_DLKM += cc_dlkm.ko
|
||||
AUDIO_DLKM += audio_cc_ipc_dlkm.ko
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += $(AUDIO_DLKM)
|
||||
|
||||
DEVICE_SKU := monaco
|
||||
|
||||
CONFIG_PAL_SRC_DIR := $(TOPDIR)$(BOARD_OPENSOURCE_DIR)/pal/configs/monaco
|
||||
CONFIG_HAL_SRC_DIR := $(TOPDIR)$(BOARD_OPENSOURCE_DIR)/audio-hal/primary-hal/configs/monaco
|
||||
CONFIG_HAL_COMMON_SRC_DIR := $(TOPDIR)$(BOARD_OPENSOURCE_DIR)/audio-hal/primary-hal/configs/common
|
||||
CONFIG_SKU_OUT_DIR := $(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)
|
||||
|
||||
ifneq ($(strip $(TARGET_USES_RRO)), true)
|
||||
#Audio Specific device overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += $(CONFIG_HAL_COMMON_SRC_DIR)/overlay
|
||||
endif
|
||||
PRODUCT_PACKAGES += $(AUDIO_AGM)
|
||||
PRODUCT_PACKAGES += $(AUDIO_PAL)
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_CODEC_2_0), true)
|
||||
PRODUCT_PACKAGES += $(AUDIO_C2)
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_io_policy.conf:$(CONFIG_SKU_OUT_DIR)/audio_io_policy.conf \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.conf:$(CONFIG_SKU_OUT_DIR)/audio_effects.conf \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_effects.xml:$(CONFIG_SKU_OUT_DIR)/audio_effects.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp_amic.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp_amic.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp_wsa.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp_wsa.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp_slate.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp_slate.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp_slate_amic.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp_slate_amic.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/mixer_paths_monaco_idp_slate_wsa.xml:$(CONFIG_SKU_OUT_DIR)/mixer_paths_monaco_idp_slate_wsa.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
|
||||
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp_amic.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp_amic.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp_wsa.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp_wsa.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp_slate.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp_slate.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp_slate_amic.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp_slate_amic.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/resourcemanager_monaco_idp_slate_wsa.xml:$(CONFIG_SKU_OUT_DIR)/resourcemanager_monaco_idp_slate_wsa.xml \
|
||||
$(CONFIG_PAL_SRC_DIR)/usecaseKvManager.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usecaseKvManager.xml \
|
||||
$(CONFIG_HAL_SRC_DIR)/card-defs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/card-defs.xml
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_MCS),true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/mcs_defs_monaco_idp_slate.xml:$(CONFIG_SKU_OUT_DIR)/mcs_defs_monaco_idp_slate.xml
|
||||
endif
|
||||
|
||||
#XML Audio configuration files
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_ANDROID), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
|
||||
endif
|
||||
ifeq ($(TARGET_SUPPORTS_WEAR_OS), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/audio_policy_configuration_lw.xml:$(CONFIG_SKU_OUT_DIR)/audio_policy_configuration.xml
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/audio_policy_configuration.xml:$(CONFIG_SKU_OUT_DIR)/audio_policy_configuration.xml
|
||||
endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
$(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml
|
||||
|
||||
# C2 Audio files
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_CODEC_2_0), true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(CONFIG_HAL_SRC_DIR)/media_codecs_c2_audio.xml:vendor/etc/media_codecs_c2_audio.xml \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/media_codecs_vendor_audio.xml:vendor/etc/media_codecs_vendor_audio.xml \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/codec2/service/1.0/c2audio.vendor.base-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm.policy \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/codec2/service/1.0/c2audio.vendor.base-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.base-arm64.policy \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/codec2/service/1.0/c2audio.vendor.ext-arm.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm.policy \
|
||||
$(CONFIG_HAL_COMMON_SRC_DIR)/codec2/service/1.0/c2audio.vendor.ext-arm64.policy:vendor/etc/seccomp_policy/c2audio.vendor.ext-arm64.policy
|
||||
endif
|
||||
|
||||
# Low latency audio buffer size in frames
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_size=192
|
||||
|
||||
##Ambisonic Capture
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ambisonic.capture=false \
|
||||
persist.vendor.audio.ambisonic.auto.profile=false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.apptype.multirec.enabled=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.fluencetype=none\
|
||||
persist.vendor.audio.fluence.voicecall=true\
|
||||
persist.vendor.audio.fluence.voicerec=false\
|
||||
persist.vendor.audio.fluence.speaker=true\
|
||||
persist.vendor.audio.fluence.tmic.enabled=false
|
||||
|
||||
##speaker protection v3 switch and ADSP AFE API version
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.spv3.enable=true\
|
||||
persist.vendor.audio.avs.afe_api_version=2
|
||||
|
||||
#
|
||||
#snapdragon value add features
|
||||
#
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.ssr=false
|
||||
|
||||
##fluencetype can be "fluence" or "fluencepro" or "none"
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.qc.sdk.audio.fluencetype=none\
|
||||
persist.audio.fluence.voicecall=true\
|
||||
persist.audio.fluence.voicerec=false\
|
||||
persist.audio.fluence.speaker=true
|
||||
|
||||
#disable tunnel encoding
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.tunnel.encode=false
|
||||
|
||||
#Disable RAS Feature by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.ras.enabled=false
|
||||
|
||||
#Buffer size in kbytes for compress offload playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
#Enable audio track offload by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.track.enable=true
|
||||
|
||||
#enable voice path for PCM VoIP by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
#Enable multi channel aac through offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
|
||||
#Enable DS2, Hardbypass feature for Dolby
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.dolby.ds2.enabled=false\
|
||||
vendor.audio.dolby.ds2.hardbypass=false
|
||||
|
||||
#Disable Multiple offload sesison
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
|
||||
#Disable Compress passthrough playback
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.passthrough=false
|
||||
|
||||
#Disable surround sound recording
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
|
||||
#timeout crash duration set to 20sec before system is ready.
|
||||
#timeout duration updates to default timeout of 5sec once the system is ready.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.boot.timeout.ms=20000
|
||||
|
||||
#enable dsp gapless mode by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
|
||||
#enable pbe effects
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.safx.pbe.enabled=false
|
||||
|
||||
#parser input buffer size(256kb) in byte stream mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.parser.ip.buffer.size=262144
|
||||
|
||||
#flac sw decoder 24 bit decode capability
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.flac.sw.decoder.24bit=true
|
||||
|
||||
#split a2dp DSP supported encoder list
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
|
||||
|
||||
# A2DP offload support
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.bluetooth.a2dp_offload.supported=true
|
||||
|
||||
# Disable A2DP offload
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.bluetooth.a2dp_offload.disabled=false
|
||||
|
||||
#enable software decoders for ALAC and APE
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.alac.decoder=true
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.ape.decoder=true
|
||||
|
||||
#enable software decoder for MPEG-H
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.use.sw.mpegh.decoder=true
|
||||
|
||||
#enable hw aac encoder by default
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hw.aac.encoder=false
|
||||
|
||||
#offload minimum duration set to 30sec
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
audio.offload.min.duration.secs=30
|
||||
|
||||
#Set AudioFlinger client heap size
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.af.client_heap_size_kbyte=7168
|
||||
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
af.fast_track_multiplier=1
|
||||
|
||||
#Set HAL buffer size to samples equal to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.in_period_size=144
|
||||
|
||||
#Set HAL buffer size to 3 ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
|
||||
#ADM Buffering size in ms
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
|
||||
#enable headset calibration
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
|
||||
#enable dualmic fluence for voice communication
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.fluence.voicecomm=true
|
||||
|
||||
ifeq ($(AUDIO_FEATURE_ENABLED_CODEC_2_0), true)
|
||||
#enable c2 based encoders/decoders as default NT decoders/encoders
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.c2.preferred=true
|
||||
|
||||
#Enable dmaBuf heap usage by C2 components
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.c2.use_dmabufheaps=1
|
||||
|
||||
#Enable qc2 audio sw flac frame decode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.qc2audio.per_frame.flac.dec.enabled=true
|
||||
|
||||
ifneq ($(GENERIC_ODM_IMAGE),true)
|
||||
$(warning "Enabling codec2.0 SW only for non-generic odm build variant")
|
||||
#Rank OMX SW codecs lower than OMX HW codecs
|
||||
PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=0
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
#enable keytone FR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.hal.output.suspend.supported=true
|
||||
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
|
||||
#enable mirror-link feature
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.enable.mirrorlink=false
|
||||
|
||||
#enable voicecall speaker stereo
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.voicecall.speaker.stereo=true
|
||||
|
||||
#enable AAC frame ctl for A2DP sinks
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.bt.aac_frm_ctl.enabled=true
|
||||
|
||||
#add dynamic feature flags here
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.audio.feature.a2dp_offload.enable=true \
|
||||
vendor.audio.feature.afe_proxy.enable=true \
|
||||
vendor.audio.feature.anc_headset.enable=true \
|
||||
vendor.audio.feature.battery_listener.enable=true \
|
||||
vendor.audio.feature.compr_cap.enable=false \
|
||||
vendor.audio.feature.compress_in.enable=true \
|
||||
vendor.audio.feature.compress_meta_data.enable=true \
|
||||
vendor.audio.feature.compr_voip.enable=false \
|
||||
vendor.audio.feature.concurrent_capture.enable=true \
|
||||
vendor.audio.feature.custom_stereo.enable=true \
|
||||
vendor.audio.feature.display_port.enable=true \
|
||||
vendor.audio.feature.dsm_feedback.enable=false \
|
||||
vendor.audio.feature.dynamic_ecns.enable=true \
|
||||
vendor.audio.feature.ext_hw_plugin.enable=false \
|
||||
vendor.audio.feature.external_dsp.enable=false \
|
||||
vendor.audio.feature.external_speaker.enable=false \
|
||||
vendor.audio.feature.external_speaker_tfa.enable=false \
|
||||
vendor.audio.feature.fluence.enable=true \
|
||||
vendor.audio.feature.fm.enable=true \
|
||||
vendor.audio.feature.hdmi_edid.enable=true \
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true \
|
||||
vendor.audio.feature.hfp.enable=true \
|
||||
vendor.audio.feature.hifi_audio.enable=false \
|
||||
vendor.audio.feature.hwdep_cal.enable=false \
|
||||
vendor.audio.feature.incall_music.enable=true \
|
||||
vendor.audio.feature.multi_voice_session.enable=true \
|
||||
vendor.audio.feature.keep_alive.enable=true \
|
||||
vendor.audio.feature.kpi_optimize.enable=true \
|
||||
vendor.audio.feature.maxx_audio.enable=false \
|
||||
vendor.audio.feature.ras.enable=true \
|
||||
vendor.audio.feature.record_play_concurency.enable=false \
|
||||
vendor.audio.feature.src_trkn.enable=true \
|
||||
vendor.audio.feature.spkr_prot.enable=false \
|
||||
vendor.audio.feature.ssrec.enable=true \
|
||||
vendor.audio.feature.usb_offload.enable=true \
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true \
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false \
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false \
|
||||
vendor.audio.feature.vbat.enable=true \
|
||||
vendor.audio.feature.wsa.enable=false \
|
||||
vendor.audio.feature.audiozoom.enable=false \
|
||||
vendor.audio.feature.snd_mon.enable=true \
|
||||
vendor.audio.gsl.shmem.dmaheap.uncached=true
|
||||
|
||||
# for HIDL related packages
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@2.0-service \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.soundtrigger@2.1-impl \
|
||||
android.hardware.audio@4.0 \
|
||||
android.hardware.audio.common@4.0 \
|
||||
android.hardware.audio.common@4.0-util \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio.effect@4.0 \
|
||||
android.hardware.audio.effect@4.0-impl \
|
||||
vendor.qti.hardware.audiohalext@1.0 \
|
||||
vendor.qti.hardware.audiohalext@1.0-impl \
|
||||
vendor.qti.hardware.audiohalext-utils
|
||||
|
||||
# enable audio hidl hal 5.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@5.0 \
|
||||
android.hardware.audio.common@5.0 \
|
||||
android.hardware.audio.common@5.0-util \
|
||||
android.hardware.audio@5.0-impl \
|
||||
android.hardware.audio.effect@5.0 \
|
||||
android.hardware.audio.effect@5.0-impl
|
||||
|
||||
# enable audio hidl hal 6.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@6.0 \
|
||||
android.hardware.audio.common@6.0 \
|
||||
android.hardware.audio.common@6.0-util \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0 \
|
||||
android.hardware.audio.effect@6.0-impl
|
||||
|
||||
# enable audio hidl hal 7.0
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@7.0 \
|
||||
android.hardware.audio.common@7.0 \
|
||||
android.hardware.audio.common@7.0-util \
|
||||
android.hardware.audio@7.0-impl \
|
||||
android.hardware.audio.effect@7.0 \
|
||||
android.hardware.audio.effect@7.0-impl
|
||||
|
||||
# enable audio hidl hal 7.1
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@7.1-impl
|
||||
|
||||
# enable sound trigger hidl hal 2.2
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
|
||||
# enable sound trigger hidl hal 2.3
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
|
||||
# enable Listen Sound Model hidl 1.0
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0 \
|
||||
vendor.qti.hardware.ListenSoundModel@1.0-impl
|
||||
|
||||
PRODUCT_PACKAGES_ENG += \
|
||||
VoicePrintTest \
|
||||
VoicePrintDemo
|
||||
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
AudioSettings
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libaudiodevarb
|
||||
endif
|
||||
ifeq ($(call is-vendor-board-platform,QCOM),true)
|
||||
ifeq ($(call is-platform-sdk-version-at-least,28),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libqti_resampler_headers \
|
||||
lib_soundmodel_headers \
|
||||
libqti_vraudio_headers
|
||||
endif
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_3D_AUDIO)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libvr_object_engine \
|
||||
libvr_amb_engine \
|
||||
libhoaeffects_csim
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
libadpcmdec
|
||||
endif
|
||||
|
||||
AUDIO_FEATURE_ENABLED_GKI := true
|
||||
@@ -0,0 +1,149 @@
|
||||
ifeq ($(TARGET_USES_QMAA),true)
|
||||
ifneq ($(TARGET_USES_QMAA_OVERRIDE_AUDIO),true)
|
||||
#QMAA Mode is enabled
|
||||
TARGET_IS_HEADLESS := true
|
||||
endif
|
||||
endif
|
||||
|
||||
#Packages that should not be installed in QMAA are enabled here
|
||||
ifneq ($(TARGET_IS_HEADLESS),true)
|
||||
|
||||
#AGM
|
||||
AUDIO_AGM := libagmclient
|
||||
AUDIO_AGM += libagmipcservice
|
||||
AUDIO_AGM += libagm
|
||||
AUDIO_AGM += agmplay
|
||||
AUDIO_AGM += agmcap
|
||||
AUDIO_AGM += libagmmixer
|
||||
AUDIO_AGM += agmcompressplay
|
||||
AUDIO_AGM += libagm_mixer_plugin
|
||||
AUDIO_AGM += libagm_pcm_plugin
|
||||
AUDIO_AGM += libagm_compress_plugin
|
||||
AUDIO_AGM += agmcompresscap
|
||||
AUDIO_AGM += agmvoiceui
|
||||
AUDIO_AGM += agmhostless
|
||||
|
||||
#PAL Module
|
||||
AUDIO_PAL := libar-pal
|
||||
AUDIO_PAL += lib_bt_bundle
|
||||
AUDIO_PAL += lib_bt_aptx
|
||||
AUDIO_PAL += lib_bt_ble
|
||||
AUDIO_PAL += catf
|
||||
AUDIO_PAL += PalTest
|
||||
AUDIO_PAL += libaudiochargerlistener
|
||||
AUDIO_PAL += libhfp_pal
|
||||
#PAL Service
|
||||
AUDIO_PAL += libpalclient
|
||||
AUDIO_PAL += libpalipcservice
|
||||
|
||||
# C2 Audio
|
||||
AUDIO_C2 := libqc2audio_base
|
||||
AUDIO_C2 += libqc2audio_utils
|
||||
AUDIO_C2 += libqc2audio_platform
|
||||
AUDIO_C2 += libqc2audio_core
|
||||
AUDIO_C2 += libqc2audio_basecodec
|
||||
AUDIO_C2 += libqc2audio_hooks
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec
|
||||
AUDIO_C2 += libqc2audio_swaudiocodec_data_common
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec
|
||||
AUDIO_C2 += libqc2audio_hwaudiocodec_data_common
|
||||
AUDIO_C2 += vendor.qti.media.c2audio@1.0-service
|
||||
AUDIO_C2 += qc2audio_test
|
||||
AUDIO_C2 += libEvrcSwCodec
|
||||
AUDIO_C2 += libQcelp13SwCodec
|
||||
AUDIO_C2 += c2audio.vendor.base-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm.policy
|
||||
AUDIO_C2 += c2audio.vendor.base-arm64.policy
|
||||
AUDIO_C2 += c2audio.vendor.ext-arm64.policy
|
||||
|
||||
AUDIO_TEST := mcs_test
|
||||
AUDIO_TEST += ar_util_in_test_example
|
||||
|
||||
|
||||
AUDIO_MODULES += ftm_test_config
|
||||
#AUDIO_MODULES += ftm_test_config_cliffs-mtp-wsa883x-snd-card
|
||||
#AUDIO_MODULES += ftm_test_config_cliffs-qrd-snd-card
|
||||
#AUDIO_MODULES += audioadsprpcd
|
||||
#AUDIO_MODULES += android.hardware.audio.service_64
|
||||
AUDIO_MODULES += MTP_acdb_cal.acdb
|
||||
AUDIO_MODULES += MTP_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += CDP_acdb_cal.acdb
|
||||
AUDIO_MODULES += CDP_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += QRD_acdb_cal.acdb
|
||||
AUDIO_MODULES += QRD_workspaceFileXml.qwsp
|
||||
AUDIO_MODULES += IDP_UPD_acdb_cal.acdb
|
||||
AUDIO_MODULES += IDP_UPD_workspaceFileXml.qwsp
|
||||
#AUDIO_MODULES += QRD_sun_sku2_acdb_cal.acdb
|
||||
#AUDIO_MODULES += QRD_sun_sku2_workspaceFileXml.qwsp
|
||||
#AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.10.pmd
|
||||
#AUDIO_MODULES += fai__2.3.0_0.1__3.0.0_0.0__eai_1.36_enpu2_comp.pmd
|
||||
#AUDIO_MODULES += fai__2.0.0_0.1__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
#AUDIO_MODULES += fai__2.7.2_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
#AUDIO_MODULES += fai__2.7.20_0.0__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
#AUDIO_MODULES += fai__3.0.0_0.0__eai_1.36_enpu2.pmd
|
||||
#AUDIO_MODULES += ffv__5.0.1_0.1__3.0.0_0.0__eai_2.10_enpu3.pmd
|
||||
#AUDIO_MODULES += ffv__5.0.1_0.1__eai_2.10_enpu3.pmd
|
||||
#AUDIO_MODULES += ffv__6.2.5_0.1__eai_3.4__enpu_v4.pmd
|
||||
#AUDIO_MODULES += ffv__7.0.1_0.1__eai_3.4_enpu_v4.pmd
|
||||
#AUDIO_MODULES += click.pcm
|
||||
#AUDIO_MODULES += double_click.pcm
|
||||
#AUDIO_MODULES += heavy_click.pcm
|
||||
#AUDIO_MODULES += pop.pcm
|
||||
#AUDIO_MODULES += reserved_1.pcm
|
||||
#AUDIO_MODULES += reserved_2.pcm
|
||||
#AUDIO_MODULES += reserved_3.pcm
|
||||
#AUDIO_MODULES += reserved_4.pcm
|
||||
#AUDIO_MODULES += reserved_5.pcm
|
||||
#AUDIO_MODULES += reserved_6.pcm
|
||||
#AUDIO_MODULES += reserved_7.pcm
|
||||
#AUDIO_MODULES += reserved_8.pcm
|
||||
#AUDIO_MODULES += texture_tick.pcm
|
||||
#AUDIO_MODULES += thud.pcm
|
||||
#AUDIO_MODULES += tick.pcm
|
||||
#AUDIO_MODULES += libfmpal
|
||||
#AUDIO_MODULES += event.eai
|
||||
#AUDIO_MODULES += music.eai
|
||||
#AUDIO_MODULES += speech.eai
|
||||
#AUDIO_MODULES += environment.eai
|
||||
AUDIO_MODULES += libqtigefar
|
||||
AUDIO_MODULES += audiodsd2pcmtest
|
||||
AUDIO_MODULES += mm-audio-ftm
|
||||
AUDIO_MODULES += libmcs
|
||||
AUDIO_MODULES += libquasar
|
||||
AUDIO_MODULES += sensors.dynamic_sensor_hal
|
||||
AUDIO_MODULES += libvui_dmgr
|
||||
AUDIO_MODULES += libvui_dmgr_client
|
||||
AUDIO_MODULES += qsap_voiceui
|
||||
AUDIO_MODULES += qsap_voiceui.policy
|
||||
AUDIO_MODULES += libaudiocollector
|
||||
AUDIO_MODULES += libhotword_intf
|
||||
AUDIO_MODULES += libcustomva_intf
|
||||
AUDIO_MODULES += libvui_intf
|
||||
AUDIO_MODULES += libVoiceSdk
|
||||
AUDIO_MODULES += libtensorflowlite_c
|
||||
|
||||
AUDIO_MODULES += $(AUDIO_AGM)
|
||||
AUDIO_MODULES += $(AUDIO_PAL)
|
||||
AUDIO_MODULES += $(AUDIO_C2)
|
||||
AUDIO_MODULES += $(AUDIO_TEST)
|
||||
|
||||
# sound trigger aidl library
|
||||
AUDIO_MODULES += libsoundtriggerhal.qti
|
||||
|
||||
# enable Listen Sound Model aidl 1.0
|
||||
AUDIO_MODULES += \
|
||||
liblistensoundmodelaidl \
|
||||
liblistensoundmodel2vendor \
|
||||
vendor.qti.hardware.ListenSoundModelAidl-V1-ndk \
|
||||
vendor.qti.hardware.ListenSoundModelAidl-V1-ndk.vendor
|
||||
|
||||
AUDIO_MODULES += \
|
||||
audiohalservice.qti \
|
||||
libaudiocorehal.qti \
|
||||
libaudiocorehal.default \
|
||||
libaudioeffecthal.qti \
|
||||
vendor.qti.hardware.pal@1.0-impl \
|
||||
android.hardware.bluetooth.audio-impl
|
||||
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,21 @@
|
||||
#Enable AAudio MMAP/NOIRQ data path
|
||||
#2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
||||
#Allow EXCLUSIVE then fall back to SHARED.
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
||||
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
|
||||
# spf hdr record either true or false
|
||||
AUDIO_HAL_PROP += \
|
||||
vendor.audio.hdr.spf.record.enable=false
|
||||
|
||||
# spf hdr record either true or false
|
||||
AUDIO_HAL_PROP += \
|
||||
vendor.audio.hdr.record.enable=false
|
||||
|
||||
#compress offload
|
||||
AUDIO_HAL_PROP += \
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
|
||||
PRODUCT_VENDOR_PROPERTIES += \
|
||||
$(AUDIO_HAL_PROP)
|
||||
@@ -0,0 +1,12 @@
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/parrot/audio-modules.mk
|
||||
include vendor/qcom/opensource/audio-hal/primary-hal/configs/audio-generic-modules.mk
|
||||
include vendor/qcom/opensource/audio-kernel/audio_kernel_modules.mk
|
||||
|
||||
|
||||
.PHONY: audio_tp audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp: audio_tp_hal audio_tp_dlkm
|
||||
|
||||
audio_tp_hal: $(AUDIO_MODULES) $(AUDIO_GENERIC_MODULES)
|
||||
|
||||
audio_tp_dlkm: $(AUDIO_KERNEL_MODULES)
|
||||
@@ -0,0 +1,360 @@
|
||||
# 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 /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/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 /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
}
|
||||
|
||||
# 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 /vendor/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
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
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
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
}
|
||||
|
||||
# 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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, 2021 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. -->
|
||||
|
||||
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!--- -->
|
||||
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, 2021 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. -->
|
||||
|
||||
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!--- -->
|
||||
<!-- Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundleaidl.so"/>
|
||||
<library name="reverb" path="libreverbaidl.so"/>
|
||||
<library name="downmix" path="libdownmixaidl.so"/>
|
||||
<library name="loudness_enhancer" path="libloudnessenhanceraidl.so"/>
|
||||
<library name="dynamics_processing" path="libdynamicsprocessingaidl.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizeraidl.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
|
||||
<effectProxy name="virtualizer" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="equalizer" 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"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="visualizer" 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"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-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="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
|
||||
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
|
||||
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,254 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
-->
|
||||
<modules>
|
||||
<module name="default">
|
||||
<mixPorts>
|
||||
<!-- based on role, mixport flags are identified as either input flags or
|
||||
output flags-->
|
||||
<!-- start of source mixports-->
|
||||
<mixPort name="low_latency_out" role="source" flags="FAST PRIMARY" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="raw_out" role="source" flags="FAST RAW">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="haptics_out" role="source">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO_HAPTIC_A" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer_out" role="source" flags="DEEP_BUFFER">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_out" role="source" flags="DIRECT MMAP_NOIRQ">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source">
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm_out" role="source" flags="DIRECT" recommendedMuteDurationMs="160">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="FLOAT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="compress_offload_out" role="source" recommendedMuteDurationMs="190" flags="DIRECT COMPRESS_OFFLOAD NON_BLOCKING GAPLESS_OFFLOAD">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mpeg" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/flac" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/alac" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/x-ape" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.05" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.29" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/vorbis" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma.pro" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.02" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.05" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.29" />
|
||||
<profile samplingRates="8000 12000 16000 24000 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/opus" />
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voip_playback" role="source" flags="VOIP_RX">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="in_call_music" role="source" flags="INCALL_MUSIC">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
|
||||
<!-- end of source mixports-->
|
||||
|
||||
<!-- start of sink mixports-->
|
||||
<mixPort name="primary_in" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="compress_in" role="sink" flags="DIRECT">
|
||||
<profile name="compress-capture-AAC-LC" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
<profile name="compress-capture-AAC-HE-V1" samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/aac-adts.05" />
|
||||
<profile name="compress-capture-AAC-HE-V2" samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO" formatType="NON_PCM" encoding="audio/aac-adts.29" />
|
||||
</mixPort>
|
||||
<mixPort name="fast_input" role="sink" flags="FAST">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_2POINT0POINT2 LAYOUT_3POINT0POINT2 LAYOUT_5POINT1" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="fast_raw_input" role="sink" flags="FAST RAW">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_2POINT0POINT2 LAYOUT_3POINT0POINT2 LAYOUT_5POINT1" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voip_record" role="sink" flags="VOIP_TX">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO"
|
||||
formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound_input" role="sink">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK LAYOUT_5POINT1" channelMasks="INDEX_MASK_3 INDEX_MASK_4 INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_32_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="FLOAT_32_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_in" role="sink" maxOpenCount="1" maxActiveCount="1" flags="MMAP_NOIRQ">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="FIXED_Q_8_24" />
|
||||
</mixPort>
|
||||
<mixPort name="hotword_input" role="sink" flags="HW_HOTWORD">
|
||||
<profile samplingRates="16000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</mixPort>
|
||||
<!-- end of sink mixports-->
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- start of sink DEVICE PORT -->
|
||||
<devicePort tagName="earpiece" role="sink" attached="true" deviceType="OUT_SPEAKER_EARPIECE">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="speaker" role="sink" attached="true" defaultDevice="true" deviceType="OUT_SPEAKER">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headset" deviceType="OUT_HEADSET" role="sink" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headphones" deviceType="OUT_HEADPHONE" role="sink" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="line_out" deviceType="OUT_DEVICE" role="sink" connection="analog">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_out" deviceType="OUT_DEVICE" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_headset" deviceType="OUT_HEADSET" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_car_kit" deviceType="OUT_CARKIT" connection="bt-sco" role="sink">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="telephony_tx" deviceType="OUT_TELEPHONY_TX" role="sink" attached="true">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of below later w.r.t channel layouts -->
|
||||
<devicePort tagName="hdmi_out" deviceType="OUT_DEVICE" connection="hdmi" role="sink">
|
||||
<profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- Todo check the sanity of below later w.r.t channel layouts -->
|
||||
<devicePort tagName="proxy_out" deviceType="OUT_AFE_PROXY" connection="virtual" role="sink">
|
||||
<profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="fm_out" deviceType="OUT_FM" role="sink" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_out" deviceType="OUT_DEVICE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_headphones" deviceType="OUT_HEADPHONE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_speaker" deviceType="OUT_SPEAKER" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_ble_headset" deviceType="OUT_HEADSET" connection="bt-le" role="sink" encodings="audio/x-lc3">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_ble_speaker" deviceType="OUT_SPEAKER" connection="bt-le" role="sink" encodings="audio/x-lc3">
|
||||
<profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_device_out" deviceType="OUT_DEVICE" connection="usb" role="sink">
|
||||
<profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_headset" deviceType="OUT_HEADSET" connection="usb" role="sink">
|
||||
<profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- end of sink DEVICE PORT -->
|
||||
|
||||
<!-- start of source DEVICE PORT -->
|
||||
<devicePort tagName="built_in_mic" deviceType="IN_MICROPHONE" role="source" attached="true" defaultDevice="true" address="bottom">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_24_BIT" />
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
<!-- To support compress offload capture such that client can query -->
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" />
|
||||
<profile samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/aac-adts.05" />
|
||||
<profile samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO" formatType="NON_PCM" encoding="audio/aac-adts.29" />
|
||||
</devicePort>
|
||||
<devicePort tagName="built_in_back_mic" deviceType="IN_MICROPHONE_BACK" role="source" attached="true" address="back">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="fm_tuner_mic" deviceType="IN_FM_TUNER" role="source" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="wired_headset_mic" deviceType="IN_HEADSET" connection="analog" role="source">
|
||||
<profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="proxy_input_device" deviceType="IN_AFE_PROXY" connection="virtual" role="source">
|
||||
<profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_sco_headset_mic" deviceType="IN_HEADSET" connection="bt-sco" role="source">
|
||||
<profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="telephony_rx" deviceType="IN_TELEPHONY_RX" role="source" attached="true">
|
||||
<profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_mic" deviceType="IN_DEVICE" connection="usb" role="source" >
|
||||
</devicePort>
|
||||
<devicePort tagName="usb_headset_mic" deviceType="IN_HEADSET" connection="usb" role="source" >
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_a2dp_mic" deviceType="IN_DEVICE" connection="bt-a2dp" role="source" encodings="audio/x-lc3">
|
||||
<profile samplingRates="44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="bt_le_mic" deviceType="IN_HEADSET" connection="bt-le" role="source" encodings="audio/x-lc3">
|
||||
<profile samplingRates="8000 16000 24000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<devicePort tagName="echo_reference_mic" deviceType="IN_ECHO_REFERENCE" role="source" attached="true">
|
||||
<profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" />
|
||||
</devicePort>
|
||||
<!-- end of source DEVICE PORT -->
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="earpiece" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx" />
|
||||
<route type="mix" sink="speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx" />
|
||||
|
||||
<route type="mix" sink="wired_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx" />
|
||||
<route type="mix" sink="wired_headphones" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,mmap_no_irq_out,haptics_out,telephony_rx" />
|
||||
|
||||
<route type="mix" sink="usb_device_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,hifi_playback,telephony_rx" />
|
||||
<route type="mix" sink="usb_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,hifi_playback,telephony_rx" />
|
||||
|
||||
<route type="mix" sink="bt_sco_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" />
|
||||
<route type="mix" sink="bt_sco_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" />
|
||||
<route type="mix" sink="bt_sco_car_kit" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" />
|
||||
|
||||
<route type="mix" sink="bt_a2dp_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="bt_a2dp_headphones" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out" />
|
||||
<route type="mix" sink="bt_a2dp_speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out" />
|
||||
|
||||
<route type="mix" sink="bt_ble_speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx" />
|
||||
<route type="mix" sink="bt_ble_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx,mmap_no_irq_out" />
|
||||
|
||||
<route type="mix" sink="line_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out" />
|
||||
|
||||
<route type="mix" sink="hdmi_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out" />
|
||||
|
||||
<route type="mix" sink="proxy_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,haptics_out" />
|
||||
|
||||
<route type="mix" sink="fm_out" sources="low_latency_out" />
|
||||
<!-- input routes -->
|
||||
<route type="mix" sink="primary_in" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,fm_tuner_mic,telephony_rx,bt_a2dp_mic,echo_reference_mic,bt_le_mic,proxy_input_device" />
|
||||
<route type="mix" sink="fast_input" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic,proxy_input_device" />
|
||||
<route type="mix" sink="fast_raw_input" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic,proxy_input_device" />
|
||||
<route type="mix" sink="compress_in" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,bt_a2dp_mic,echo_reference_mic,bt_le_mic,proxy_input_device" />
|
||||
<route type="mix" sink="telephony_tx" sources="voice_tx,in_call_music,built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,bt_a2dp_mic,echo_reference_mic,bt_le_mic,usb_mic,usb_headset_mic" />
|
||||
<route type="mix" sink="mmap_no_irq_in" sources="built_in_mic,built_in_back_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,wired_headset_mic" />
|
||||
<route type="mix" sink="voip_record" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,bt_a2dp_mic,echo_reference_mic,bt_le_mic" />
|
||||
<route type="mix" sink="hotword_input" sources="built_in_mic,built_in_back_mic,wired_headset_mic,bt_sco_headset_mic,usb_mic,usb_headset_mic,bt_a2dp_mic,echo_reference_mic,bt_le_mic,proxy_input_device" />
|
||||
<route type="mix" sink="usb_surround_sound_input" sources="usb_mic,usb_headset_mic" />
|
||||
<route type="mix" sink="voice_rx" sources="telephony_rx" />
|
||||
</routes>
|
||||
</module>
|
||||
</modules>
|
||||
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
|
||||
<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="true" 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 is now hosted in audio_module_config_primary -->
|
||||
|
||||
<!-- A2DP Audio HAL -->
|
||||
<!-- <module name="a2dp" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="a2dp input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
|
||||
<routes>
|
||||
<route type="mix" sink="a2dp input"
|
||||
sources="BT A2DP In"/>
|
||||
</routes>
|
||||
</module> -->
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<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>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
|
||||
<!-- Stub HAL -->
|
||||
<xi:include href="/vendor/etc/stub_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
@@ -0,0 +1,384 @@
|
||||
<!-- Copyright (c) 2019,2021 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. -->
|
||||
|
||||
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!-- -->
|
||||
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
|
||||
<defs>
|
||||
<card>
|
||||
<id>100</id>
|
||||
<name>waipiovirtualsndcard</name>
|
||||
|
||||
<pcm-device>
|
||||
<id>100</id>
|
||||
<name>PCM100</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>101</id>
|
||||
<name>PCM101</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>102</id>
|
||||
<name>PCM102</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>103</id>
|
||||
<name>PCM103</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>104</id>
|
||||
<name>PCM104</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<compress-device>
|
||||
<id>105</id>
|
||||
<name>COMPRESS105</name>
|
||||
<compress_plugin>
|
||||
<so-name>libagm_compress_plugin.so</so-name>
|
||||
</compress_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</compress-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>106</id>
|
||||
<name>VOICEMMODE1p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>107</id>
|
||||
<name>VOICEMMODE2p</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
<pcm-device>
|
||||
<id>108</id>
|
||||
<name>VOICEMMODE1c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>109</id>
|
||||
<name>VOICEMMODE2c</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>110</id>
|
||||
<name>PCM110</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>111</id>
|
||||
<name>PCM111</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>112</id>
|
||||
<name>PCM112</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>113</id>
|
||||
<name>PCM113</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>114</id>
|
||||
<name>PCM114</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>2</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>115</id>
|
||||
<name>PCM115</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>0</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>116</id>
|
||||
<name>PCM116</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<capture>1</capture>
|
||||
<session_mode>3</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>117</id>
|
||||
<name>PCM117</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>118</id>
|
||||
<name>PCM118</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>119</id>
|
||||
<name>PCM119</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>120</id>
|
||||
<name>PCM120</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>121</id>
|
||||
<name>PCM121</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>122</id>
|
||||
<name>ExtEC122</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>0</playback>
|
||||
<capture>1</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<pcm-device>
|
||||
<id>123</id>
|
||||
<name>PCM123</name>
|
||||
<pcm_plugin>
|
||||
<so-name>libagm_pcm_plugin.so</so-name>
|
||||
</pcm_plugin>
|
||||
<props>
|
||||
<playback>1</playback>
|
||||
<capture>0</capture>
|
||||
<session_mode>1</session_mode>
|
||||
</props>
|
||||
</pcm-device>
|
||||
|
||||
<mixer>
|
||||
<id>1</id>
|
||||
<name>agm_mixer</name>
|
||||
<mixer_plugin>
|
||||
<so-name>libagm_mixer_plugin.so</so-name>
|
||||
</mixer_plugin>
|
||||
</mixer>
|
||||
|
||||
</card>
|
||||
</defs>
|
||||
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2014, 2016-2018, 2021. 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
|
||||
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
|
||||
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted (subject to the limitations in the -->
|
||||
<!-- disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -->
|
||||
<!-- GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -->
|
||||
<!-- HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -->
|
||||
<!-- IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
|
||||
<microphone_characteristics_and_channel_maps>
|
||||
<microphone_characteristics>
|
||||
<microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
|
||||
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
|
||||
<microphone valid_mask="31" device_id="builtin_mic_4" type="AUDIO_DEVICE_IN_BACK_MIC" address="" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||
group="0" index_in_the_group="3" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||
</microphone_characteristics>
|
||||
<snd_devices>
|
||||
<input_snd_device>
|
||||
<input_snd_device_mic_mapping>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_SPEAKER_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_HANDSET_VA_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="PAL_DEVICE_IN_ULTRASOUND_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_3"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_4"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
</input_snd_device_mic_mapping>
|
||||
</input_snd_device>
|
||||
</snd_devices>
|
||||
</microphone_characteristics_and_channel_maps>
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user