android_hardware_qcom_audio/hal/Android.mk

302 lines
8.5 KiB
Makefile
Raw Normal View History

ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msmcobalt,$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
ifneq ($(filter msm8610,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8610
endif
ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8x26
endif
ifneq ($(filter apq8084,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_APQ8084
endif
ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8994
endif
ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8994
endif
ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8996
endif
ifneq ($(filter msmcobalt,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSMCOBALT
endif
endif
ifneq ($(filter msm8916 msm8909 msm8952 msm8937 thorium msm8953 msmgold,$(TARGET_BOARD_PLATFORM)),)
AUDIO_PLATFORM = msm8916
MULTIPLE_HW_VARIANTS_ENABLED := true
LOCAL_CFLAGS := -DPLATFORM_MSM8916
ifneq ($(filter msm8909,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_MSM8909
endif
endif
LOCAL_SRC_FILES := \
audio_hw.c \
voice.c \
platform_info.c \
$(AUDIO_PLATFORM)/platform.c
LOCAL_SRC_FILES += audio_extn/audio_extn.c \
audio_extn/utils.c
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_EDID)),true)
LOCAL_CFLAGS += -DHDMI_EDID
LOCAL_SRC_FILES += edid.c
endif
ifeq ($(strip $(AUDIO_USE_LL_AS_PRIMARY_OUTPUT)),true)
LOCAL_CFLAGS += -DUSE_LL_AS_PRIMARY_OUTPUT
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD)),true)
LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ANC_HEADSET)),true)
LOCAL_CFLAGS += -DANC_HEADSET_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HIFI_AUDIO)),true)
LOCAL_CFLAGS += -DHIFI_AUDIO_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_VBAT_MONITOR)),true)
LOCAL_CFLAGS += -DVBAT_MONITOR_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FLUENCE)),true)
LOCAL_CFLAGS += -DFLUENCE_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PROXY_DEVICE)),true)
LOCAL_CFLAGS += -DAFE_PROXY_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE)),true)
LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_POWER_OPT)),true)
LOCAL_CFLAGS += -DFM_POWER_OPT
LOCAL_SRC_FILES += audio_extn/fm.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USBAUDIO)),true)
LOCAL_CFLAGS += -DUSB_HEADSET_ENABLED
LOCAL_SRC_FILES += audio_extn/usb.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true)
LOCAL_CFLAGS += -DHFP_ENABLED
LOCAL_SRC_FILES += audio_extn/hfp.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_CUSTOMSTEREO)),true)
LOCAL_CFLAGS += -DCUSTOM_STEREO_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SSR)),true)
LOCAL_CFLAGS += -DSSR_ENABLED
LOCAL_SRC_FILES += audio_extn/ssr.c
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/surround_sound_3mic/
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/common/inc/
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true)
LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED
LOCAL_SRC_FILES += voice_extn/voice_extn.c
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INCALL_MUSIC)),true)
LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_VOIP)),true)
LOCAL_CFLAGS += -DCOMPRESS_VOIP_ENABLED
LOCAL_SRC_FILES += voice_extn/compress_voip.c
endif
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FORMATS)),true)
LOCAL_CFLAGS += -DAUDIO_EXTN_FORMATS_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true)
LOCAL_CFLAGS += -DSPKR_PROT_ENABLED
LOCAL_SRC_FILES += audio_extn/spkr_protection.c
endif
ifdef MULTIPLE_HW_VARIANTS_ENABLED
LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED
LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE)),true)
LOCAL_CFLAGS += -DCOMPRESS_CAPTURE_ENABLED
LOCAL_SRC_FILES += audio_extn/compress_capture.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DTS_EAGLE)),true)
LOCAL_CFLAGS += -DDTS_EAGLE
LOCAL_SRC_FILES += audio_extn/dts_eagle.c
endif
ifeq ($(strip $(DOLBY_DDP)),true)
LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
LOCAL_SRC_FILES += audio_extn/dolby.c
endif
ifeq ($(strip $(DS1_DOLBY_DAP)),true)
LOCAL_CFLAGS += -DDS1_DOLBY_DAP_ENABLED
ifneq ($(strip $(DOLBY_DDP)),true)
LOCAL_SRC_FILES += audio_extn/dolby.c
endif
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER)),true)
LOCAL_CFLAGS += -DFLAC_OFFLOAD_ENABLED
LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD)),true)
LOCAL_CFLAGS += -DVORBIS_OFFLOAD_ENABLED
LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_WMA_OFFLOAD)),true)
LOCAL_CFLAGS += -DWMA_OFFLOAD_ENABLED
LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD)),true)
LOCAL_CFLAGS += -DALAC_OFFLOAD_ENABLED
LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_APE_OFFLOAD)),true)
LOCAL_CFLAGS += -DAPE_OFFLOAD_ENABLED
LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24)),true)
LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED_24
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD)),true)
LOCAL_CFLAGS += -DAAC_ADTS_OFFLOAD_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
LOCAL_CFLAGS += -DDEV_ARBI_ENABLED
LOCAL_SRC_FILES += audio_extn/dev_arbi.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY)),true)
LOCAL_CFLAGS += -DRECORD_PLAY_CONCURRENCY
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ACDB_LICENSE)), true)
LOCAL_CFLAGS += -DDOLBY_ACDB_LICENSE
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP)),true)
LOCAL_CFLAGS += -DDS2_DOLBY_DAP_ENABLED
LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
ifneq ($(strip $(DOLBY_DDP)),true)
ifneq ($(strip $(DS1_DOLBY_DAP)),true)
LOCAL_SRC_FILES += audio_extn/dolby.c
endif
endif
endif
hal: Audio HAL / APM changes for HDMI passthrough -Add support for HDMI passthrough for DD/DDP contents to HAL and APM. -Add mixer control to set volume on volume module on passthrough COPP. The mixer control takes zero volume for mute and unity volume for max volume. -DDP content requires sample rate to be four times native sample rate. HAL sample rate is changed to four times native rate from start output stream. During rapid pause/resume offload thread calls standby when there is no active track and no activity for over a second. On resume start output steam is called and sample rate is converted to four times its current value. This results in session to be started with invalid sampling rate and playback failures. -Add HDMI passthrough support for JOC format. Expose DDP/JOC as pass-through supported format if sink supports either DD or DDP. This is to allow support for pass-through convert based on edid data. -Deep buffer music stream does not switch back to HDMI after ringtone playback ends. Ringtone, alarm, notification etc are played on speaker if HDMI pass-through is enabled. The decision is taken based on stream or strategy. The decision to change the device from HDMI to speaker is taken based on the stream type. When a patricular stream ends use the reference count instead of stream type. -DAP is not turned on when switching from passthrough stream to deep buffer stream.DAP bypass call from HAL to DAP HAL expects integer pointer. Address of a bool variable is passed into the function. Corrupt value is set on driver instead of turn on/off causing random failures in DAP on/DAP bypass. Use same data type and use enumeration to make the function call readable. CRs-Fixed: 761339 Change-Id: Ided9439ec5e87233a1fec3ff9f50a1e9ba4cb788
2014-10-20 23:17:01 +00:00
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH)),true)
LOCAL_CFLAGS += -DHDMI_PASSTHROUGH_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SOURCE_TRACKING)),true)
LOCAL_CFLAGS += -DSOURCE_TRACKING_ENABLED
LOCAL_SRC_FILES += audio_extn/source_track.c
endif
LOCAL_SHARED_LIBRARIES := \
liblog \
libcutils \
libtinyalsa \
libtinycompress \
libaudioroute \
libdl \
libexpat
LOCAL_C_INCLUDES += \
external/tinyalsa/include \
external/tinycompress/include \
external/expat/lib \
$(call include-path-for, audio-route) \
$(call include-path-for, audio-effects) \
$(LOCAL_PATH)/$(AUDIO_PLATFORM) \
$(LOCAL_PATH)/audio_extn \
$(LOCAL_PATH)/voice_extn
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true)
LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-listen
LOCAL_SRC_FILES += audio_extn/listen.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXT_HDMI)),true)
LOCAL_CFLAGS += -DAUDIO_EXTERNAL_HDMI_ENABLED
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH)),true)
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-parsers
LOCAL_SHARED_LIBRARIES += libaudioparsers
endif
endif
ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED
LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM)
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger
LOCAL_SRC_FILES += audio_extn/soundtrigger.c
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUXPCM_BT)),true)
LOCAL_CFLAGS += -DAUXPCM_BT_ENABLED
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PM_SUPPORT)),true)
LOCAL_CFLAGS += -DPM_SUPPORT_ENABLED
LOCAL_SRC_FILES += audio_extn/pm.c
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libperipheralclient/inc
LOCAL_SHARED_LIBRARIES += libperipheral_client
endif
LOCAL_CFLAGS += -Wall -Werror
LOCAL_COPY_HEADERS_TO := mm-audio
LOCAL_COPY_HEADERS := audio_extn/audio_defs.h
LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
endif