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