Home | History | Annotate | Download | only in mediacodec
      1 LOCAL_PATH := $(call my-dir)
      2 
      3 _software_codecs := \
      4     libstagefright_soft_aacdec \
      5     libstagefright_soft_aacenc \
      6     libstagefright_soft_amrdec \
      7     libstagefright_soft_amrnbenc \
      8     libstagefright_soft_amrwbenc \
      9     libstagefright_soft_avcdec \
     10     libstagefright_soft_avcenc \
     11     libstagefright_soft_flacdec \
     12     libstagefright_soft_flacenc \
     13     libstagefright_soft_g711dec \
     14     libstagefright_soft_gsmdec \
     15     libstagefright_soft_hevcdec \
     16     libstagefright_soft_mp3dec \
     17     libstagefright_soft_mpeg2dec \
     18     libstagefright_soft_mpeg4dec \
     19     libstagefright_soft_mpeg4enc \
     20     libstagefright_soft_opusdec \
     21     libstagefright_soft_rawdec \
     22     libstagefright_soft_vorbisdec \
     23     libstagefright_soft_vpxdec \
     24     libstagefright_soft_vpxenc \
     25 
     26 # service executable
     27 include $(CLEAR_VARS)
     28 # seccomp is not required for coverage build.
     29 ifneq ($(NATIVE_COVERAGE),true)
     30 LOCAL_REQUIRED_MODULES := crash_dump.policy
     31 LOCAL_REQUIRED_MODULES_arm := mediacodec.policy
     32 LOCAL_REQUIRED_MODULES_x86 := mediacodec.policy
     33 endif
     34 LOCAL_SRC_FILES := main_codecservice.cpp
     35 LOCAL_SHARED_LIBRARIES := \
     36     libmedia_omx \
     37     libbinder \
     38     libutils \
     39     liblog \
     40     libbase \
     41     libavservices_minijail_vendor \
     42     libcutils \
     43     libhwbinder \
     44     libhidltransport \
     45     libstagefright_omx \
     46     libstagefright_xmlparser \
     47     android.hardware.media.omx (a] 1.0 \
     48     android.hidl.memory (a] 1.0
     49 
     50 LOCAL_MODULE := android.hardware.media.omx (a] 1.0-service
     51 LOCAL_MODULE_RELATIVE_PATH := hw
     52 LOCAL_VENDOR_MODULE := true
     53 LOCAL_32_BIT_ONLY := true
     54 # Since this is 32-bit-only module, only 32-bit version of the codecs are installed.
     55 # TODO(b/72343507): eliminate the need for manually adding .vendor suffix. This should be done
     56 # by the build system.
     57 LOCAL_REQUIRED_MODULES += \
     58 $(foreach codec,$(_software_codecs),\
     59   $(eval _vendor_suffix := $(if $(BOARD_VNDK_VERSION),.vendor))\
     60   $(codec)$(_vendor_suffix)\
     61 )
     62 _software_codecs :=
     63 LOCAL_INIT_RC := android.hardware.media.omx (a] 1.0-service.rc
     64 
     65 include $(BUILD_EXECUTABLE)
     66 
     67 # service seccomp policy
     68 ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), x86 x86_64 arm arm64))
     69 include $(CLEAR_VARS)
     70 LOCAL_MODULE := mediacodec.policy
     71 LOCAL_MODULE_CLASS := ETC
     72 LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/seccomp_policy
     73 # mediacodec runs in 32-bit combatibility mode. For 64 bit architectures,
     74 # use the 32 bit policy
     75 ifdef TARGET_2ND_ARCH
     76   ifneq ($(TARGET_TRANSLATE_2ND_ARCH),true)
     77     LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_2ND_ARCH).policy
     78   else
     79     LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_ARCH).policy
     80   endif
     81 else
     82     LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_ARCH).policy
     83 endif
     84 include $(BUILD_PREBUILT)
     85 endif
     86 
     87 include $(call all-makefiles-under, $(LOCAL_PATH))
     88