#BOARD_USES_GENERIC_AUDIO := true # #AUDIO_FEATURE_FLAGS BOARD_USES_ALSA_AUDIO := true ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true) USE_CUSTOM_AUDIO_POLICY := 1 AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := 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_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_AUDIO := true AUDIO_FEATURE_ENABLED_SPLIT_A2DP := true AUDIO_FEATURE_ENABLED_3D_AUDIO := false AUDIO_FEATURE_ENABLED_VOICE_PRINT := false USE_LEGACY_AUDIO_DAEMON := false USE_LEGACY_AUDIO_MEASUREMENT := false DOLBY_ENABLE := false endif USE_XML_AUDIO_POLICY_CONF := 1 BOARD_SUPPORTS_SOUND_TRIGGER := true AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false AUDIO_FEATURE_ENABLED_VBAT_MONITOR := 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 := false AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true 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 := true AUDIO_FEATURE_ENABLED_QAF := true AUDIO_FEATURE_IP_HDLR_ENABLED := true MM_AUDIO_IP_HDLR_ENABLED := true AUDIO_FEATURE_ENABLED_MS12_SECURITY := true AUDIO_FEATURE_ENABLED_RAS := true AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true AUDIO_FEATURE_ENABLED_SND_MONITOR := true #Disabling the feature AUDIO_FEATURE_ENABLED_MS12_ARM for P compatibility. #Will revisit if needed for LATV. AUDIO_FEATURE_ENABLED_MS12_ARM := false ##AUDIO_FEATURE_FLAGS #Audio Specific device overlays DEVICE_PACKAGE_OVERLAYS += vendor/qcom/opensource/audio-hal/primary-hal/configs/common/overlay # Audio configuration file ifeq ($(TARGET_USES_AOSP_FOR_AUDIO), true) PRODUCT_COPY_FILES += \ device/qcom/common/media/audio_policy.conf:vendor/etc/audio_policy.conf else PRODUCT_COPY_FILES += \ vendor/qcom/opensource/audio-hal/primary-hal/configs/apq8098_latv/audio_policy.conf:vendor/etc/audio_policy.conf endif PRODUCT_COPY_FILES += \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_skuk.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_skuk.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_skuk.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qvr.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_dtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_dtp.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/mixer_paths_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_i2s.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_platform_info_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_i2s.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/sound_trigger_mixer_paths_wcd9330.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9330.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml #XML Audio configuration files ifeq ($(USE_XML_AUDIO_POLICY_CONF), 1) ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true) PRODUCT_COPY_FILES += \ $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/apq8098_latv/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 endif # Listen configuration file PRODUCT_COPY_FILES += \ vendor/qcom/opensource/audio-hal/primary-hal/configs/msm8998/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml # Reduce client buffer size for fast audio output tracks PRODUCT_PROPERTY_OVERRIDES += \ af.fast_track_multiplier=1 # Low latency audio buffer size in frames PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio_hal.period_size=192 ##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 #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=2 #Minimum duration for offload playback in secc PRODUCT_PROPERTY_OVERRIDES += \ audio.offload.min.duration.secs=0 #Enable offload audio video playback by default PRODUCT_PROPERTY_OVERRIDES += \ audio.offload.video=true #Enable 16 bit PCM offload by default PRODUCT_PROPERTY_OVERRIDES += \ audio.offload.pcm.16bit.enable=true #Enable 24 bit PCM offload by default PRODUCT_PROPERTY_OVERRIDES += \ audio.offload.pcm.24bit.enable=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 #QTI property used when calculating client heap size in audio flinger PRODUCT_PROPERTY_OVERRIDES += \ audio.heap.size.multiplier=7 #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=true #Disable Compress passthrough playback PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.offload.passthrough=true #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=true #enable QAF PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.qaf.enabled=true #QAF Library PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.qaf.library=/vendor/lib/libdolby_ms12_wrapper.so #Disable reencode PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.qaf.reencode=true #HDMI passthrough out PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.qaf.hdmi.out=ddp #AV streaming offload PRODUCT_PROPERTY_OVERRIDES += \ av.streaming.offload.enable=true #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-aptxhd-aac #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 hw aac encoder by default PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.hw.aac.encoder=true #audio becoming noisy intent broadcast delay PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.noisy.broadcast.delay=600 #offload pausetime out duration to 3 secs to inline with other outputs PRODUCT_PROPERTY_OVERRIDES += \ vendor.audio.offload.pstimeout.secs=3 #Set AudioFlinger client heap size PRODUCT_PROPERTY_OVERRIDES += \ ro.af.client_heap_size_kbyte=7168 #enable headset calibration PRODUCT_PROPERTY_OVERRIDES += \ audio.volume.headset.gain.depcal=true #enable dualmic fluence for voice communication PRODUCT_PROPERTY_OVERRIDES += \ persist.audio.fluence.voicecomm=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.0-impl