From e9f3e33af10039a14324e293dd57bf62c086a040 Mon Sep 17 00:00:00 2001 From: OothecaPickle Date: Mon, 22 Dec 2025 23:07:23 -0800 Subject: [PATCH] dre: Align audio with stock Change-Id: I1c0342145ad887c8294af29d8e418afbdf2959d1 --- configs/audio/audio_io_policy.conf | 156 ++++++++++++++++++++++++++ configs/audio/audio_platform_info.xml | 3 +- device.mk | 4 +- 3 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 configs/audio/audio_io_policy.conf diff --git a/configs/audio/audio_io_policy.conf b/configs/audio/audio_io_policy.conf new file mode 100644 index 0000000..b1169dd --- /dev/null +++ b/configs/audio/audio_io_policy.conf @@ -0,0 +1,156 @@ +# 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 + } +#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback + default_24bit { + flags AUDIO_OUTPUT_FLAG_PRIMARY + formats AUDIO_FORMAT_PCM_24_BIT_PACKED + sampling_rates 48000 + bit_width 24 + 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 + } +#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback + deep_buffer_24bit { + flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER + formats AUDIO_FORMAT_PCM_24_BIT_PACKED + sampling_rates 48000 + bit_width 24 + 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 + } + voip_tx { + flags AUDIO_INPUT_FLAG_VOIP_TX + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 8000|16000|32000|48000 + bit_width 16 + app_type 69946 + } + low_latency_voip_tx { + flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000 + bit_width 16 + app_type + } +} diff --git a/configs/audio/audio_platform_info.xml b/configs/audio/audio_platform_info.xml index ea1c845..9bfd743 100644 --- a/configs/audio/audio_platform_info.xml +++ b/configs/audio/audio_platform_info.xml @@ -116,7 +116,7 @@ - + @@ -143,6 +143,7 @@ + diff --git a/device.mk b/device.mk index 88beb77..14ee1c3 100644 --- a/device.mk +++ b/device.mk @@ -67,13 +67,13 @@ PRODUCT_PACKAGES += \ AUDIO_HAL_DIR := hardware/qcom-caf/sm8350/audio PRODUCT_COPY_FILES += \ - $(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(AUDIO_HAL_DIR)/configs/holi/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ - $(AUDIO_HAL_DIR)/configs/holi/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ $(AUDIO_HAL_DIR)/configs/holi/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \ $(AUDIO_HAL_DIR)/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \ $(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ $(LOCAL_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(LOCAL_PATH)/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \ $(LOCAL_PATH)/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \ $(LOCAL_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \