diff --git a/BoardConfig.mk b/BoardConfig.mk index da8d932..27400fb 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -178,6 +178,9 @@ VENDOR_SECURITY_PATCH := 2022-06-05 include device/qcom/sepolicy_vndr-legacy-um/SEPolicy.mk BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor +# Shims +TARGET_LD_SHIM_LIBS := vendor/lib/hw/audio.primary.atoll.so|fakelogprint.so + # Verified Boot BOARD_AVB_ENABLE := true BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 diff --git a/audio/audio_io_policy.conf b/audio/audio_io_policy.conf deleted file mode 100644 index 0f1f93e..0000000 --- a/audio/audio_io_policy.conf +++ /dev/null @@ -1,126 +0,0 @@ -# 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 - 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_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO - 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 - } -} diff --git a/audio/audio_platform_info_intcodec.xml b/audio/audio_platform_info_intcodec.xml deleted file mode 100644 index 009f1ec..0000000 --- a/audio/audio_platform_info_intcodec.xml +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/audio/audio_policy_configuration.xml b/audio/audio_policy_configuration.xml index e7ca0b7..73c8d1f 100644 --- a/audio/audio_policy_configuration.xml +++ b/audio/audio_policy_configuration.xml @@ -96,12 +96,12 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Speaker - - @@ -199,6 +199,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/> + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/device.mk b/device.mk index 0b27ad7..98251be 100644 --- a/device.mk +++ b/device.mk @@ -49,7 +49,6 @@ PRODUCT_COPY_FILES += \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) PRODUCT_COPY_FILES += \ - frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml @@ -184,6 +183,10 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ android.hardware.keymaster@4.1.vendor +# Libshims +PRODUCT_PACKAGES += \ + fakelogprint + # Lights PRODUCT_PACKAGES += \ android.hardware.light-service.xiaomi diff --git a/libshims/Android.bp b/libshims/Android.bp new file mode 100644 index 0000000..d0a9535 --- /dev/null +++ b/libshims/Android.bp @@ -0,0 +1,12 @@ +// +// Copyright (C) 2021 The LineageOS Project +// +// SPDX-License-Identifier: Apache-2.0 +// + +cc_library_shared { + name: "fakelogprint", + vendor: true, + shared_libs: ["liblog"], + srcs: ["fakelogprint/fakelogprint.cpp"], +} diff --git a/libshims/fakelogprint/fakelogprint.cpp b/libshims/fakelogprint/fakelogprint.cpp new file mode 100644 index 0000000..a3c759f --- /dev/null +++ b/libshims/fakelogprint/fakelogprint.cpp @@ -0,0 +1,5 @@ +#include + +int __android_log_print(int prio, const char* tag, const char* fmt, ...) { + return 0; +} diff --git a/proprietary-files.txt b/proprietary-files.txt index 8ef2cf2..a3912e4 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -72,14 +72,24 @@ vendor/lib64/vendor.qti.hardware.alarm@1.0.so # Audio vendor/lib/btaudio_offload_if.so +vendor/lib/hw/audio.primary.atoll.so +vendor/lib/liba2dpoffload.so vendor/lib/libadm.so vendor/lib/libaudioconfigstore.so +vendor/lib/libaudio_log_utils.so vendor/lib/libaudioparsers.so vendor/lib/libdrc.so vendor/lib/libhdmipassthru.so vendor/lib/libqtigef.so +vendor/lib/libssrec.so vendor/lib/libsurround_3mic_proc.so +# Audio configs +vendor/etc/audio_io_policy.conf +vendor/etc/audio_platform_info_intcodec.xml +vendor/etc/audio_policy_volumes.xml +vendor/etc/mixer_paths_wcd937x.xml + # Audio FX modules vendor/lib/soundfx/libasphere.so vendor/lib/soundfx/libshoebox.so diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index cbadc88..fc7a688 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -837,6 +837,18 @@ on property:vendor.opengles.version=* on property:vendor.gpu.available_frequencies=* setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies} +service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service + override + class hal + user audioserver + # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock + capabilities BLOCK_SUSPEND + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks + socket audio_hw_socket seqpacket 0666 system system + onrestart restart audioserver + service vendor.hwcomposer-2-4 /vendor/bin/hw/android.hardware.graphics.composer@2.4-service override class hal animation diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index 051a57a..7523d2a 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -1,3 +1,5 @@ +type audio_socket, file_type; + type camera_persist_file, file_type, vendor_persist_type; type fingerprint_data_file, data_file_type, core_data_file_type, file_type; diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts index ec7da7c..42b80f5 100644 --- a/sepolicy/vendor/file_contexts +++ b/sepolicy/vendor/file_contexts @@ -1,3 +1,6 @@ +# Audio +/dev/socket/audio_hw_socket u:object_r:audio_socket:s0 + # Camera /mnt/vendor/persist/camera(/.*)? u:object_r:camera_persist_file:s0 diff --git a/sepolicy/vendor/hal_audio_default.te b/sepolicy/vendor/hal_audio_default.te new file mode 100644 index 0000000..9a94fec --- /dev/null +++ b/sepolicy/vendor/hal_audio_default.te @@ -0,0 +1,3 @@ +set_prop(hal_audio_default, vendor_audio_prop) + +allow hal_audio_default audio_socket:sock_file rw_file_perms; diff --git a/vendor.prop b/vendor.prop index c0f38de..0dc2987 100644 --- a/vendor.prop +++ b/vendor.prop @@ -11,8 +11,17 @@ persist.vendor.audio.fluence.voicerec=false persist.vendor.audio.ras.enabled=false persist.vendor.audio.spv3.enable=true persist.vendor.audio.voicecall.speaker.stereo=false -ro.vendor.audio.sdk.fluencetype=fluence +ro.vendor.audio.sdk.fluencetype=none ro.vendor.audio.sdk.ssr=false +ro.vendor.audio.spk.clean=true +ro.vendor.audio.soundfx.type=mi +ro.vendor.audio.vocal.support=false +ro.vendor.audio.surround.support=false +ro.vendor.audio.spk.stereo=false +ro.vendor.audio.scenario.support=false +ro.vendor.audio.sfx.scenario=false +ro.vendor.audio.sfx.earadj=false +ro.vendor.audio.soundfx.usb=true vendor.audio.adm.buffering.ms=2 vendor.audio.dolby.ds2.enabled=false vendor.audio.dolby.ds2.hardbypass=false