Merge changes from topic "fix-omx-dependencies"

* changes:
  OMX Hal: depend on libavservices_minijail_vendor.
  Fix OMX dependencies.
  Use vendor variant of libstagefright_foundation.
gugelfrei
Treehugger Robot 7 years ago committed by Gerrit Code Review
commit b403048401

@ -77,6 +77,7 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libvisualizer.so
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libreverbwrapper.so) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libreverbwrapper.so)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libbundlewrapper.so) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libbundlewrapper.so)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libaudiopreprocessing.so) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/soundfx/libaudiopreprocessing.so)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libmediacodecservice.so)
# ************************************************ # ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST

@ -38,7 +38,7 @@ cc_library_shared {
shared_libs: [ shared_libs: [
"libcrypto", "libcrypto",
"liblog", "liblog",
"libstagefright_foundation_vendor", "libstagefright_foundation",
"libutils", "libutils",
], ],

@ -31,7 +31,7 @@ cc_test {
"libcrypto", "libcrypto",
"libdrmclearkeyplugin", "libdrmclearkeyplugin",
"liblog", "liblog",
"libstagefright_foundation_vendor", "libstagefright_foundation",
"libutils", "libutils",
], ],
} }

@ -19,24 +19,117 @@ cc_library {
clang: true, clang: true,
} }
cc_library_shared { // TODO(b/35449087): merge back with libmedia when OMX implementatoins
name: "libmedia", // no longer use aidl wrappers (or remove OMX component form libmedia)
cc_defaults {
name: "libmedia_omx_defaults",
srcs: [
"aidl/android/IGraphicBufferSource.aidl",
"aidl/android/IOMXBufferSource.aidl",
"IMediaCodecList.cpp",
"IMediaCodecService.cpp",
"IOMX.cpp",
"MediaCodecBuffer.cpp",
"MediaCodecInfo.cpp",
"MediaDefs.cpp",
"OMXBuffer.cpp",
"omx/1.0/WGraphicBufferSource.cpp",
"omx/1.0/WOmx.cpp",
"omx/1.0/WOmxBufferSource.cpp",
"omx/1.0/WOmxNode.cpp",
"omx/1.0/WOmxObserver.cpp",
],
aidl: { aidl: {
local_include_dirs: ["aidl"], local_include_dirs: ["aidl"],
export_aidl_headers: true, export_aidl_headers: true,
}, },
srcs: [ shared_libs: [
"aidl/android/IGraphicBufferSource.aidl", "android.hidl.memory@1.0",
"aidl/android/IOMXBufferSource.aidl", "android.hidl.token@1.0-utils",
"android.hardware.media.omx@1.0",
"android.hardware.media@1.0",
"libbase",
"libbinder",
"libcutils",
"libgui",
"libhidlbase",
"libhidlmemory",
"libhidltransport",
"libhwbinder",
"liblog",
"libstagefright_foundation",
"libui",
"libutils",
],
include_dirs: [
"frameworks/av/include", // for media/vndk/xmlparser/1.0/MediaCodecsXmlParser.h
"frameworks/av/include/media",
"frameworks/native/include", // for media/hardware/MetadataBufferType.h
"frameworks/native/include/media/openmax",
"frameworks/av/media/libstagefright",
],
export_shared_lib_headers: [
"android.hidl.memory@1.0",
"android.hidl.token@1.0-utils",
"android.hardware.media.omx@1.0",
"android.hardware.media@1.0",
"libhidlmemory",
"libstagefright_foundation",
"libui",
],
header_libs: [
"libmedia_headers",
],
export_header_lib_headers: [
"libmedia_headers",
],
export_include_dirs: [
"aidl",
],
cflags: [
"-Werror",
"-Wno-error=deprecated-declarations",
"-Wall",
],
sanitize: {
misc_undefined: [
"unsigned-integer-overflow",
"signed-integer-overflow",
],
cfi: true,
diag: {
cfi: true,
},
},
}
cc_library_shared {
name: "libmedia_omx",
vendor_available: true,
defaults: ["libmedia_omx_defaults"],
}
cc_library_shared {
name: "libmedia",
defaults: ["libmedia_omx_defaults"],
srcs: [
"IDataSource.cpp", "IDataSource.cpp",
"IHDCP.cpp", "IHDCP.cpp",
"BufferingSettings.cpp", "BufferingSettings.cpp",
"mediaplayer.cpp", "mediaplayer.cpp",
"IMediaCodecList.cpp",
"IMediaCodecService.cpp",
"IMediaHTTPConnection.cpp", "IMediaHTTPConnection.cpp",
"IMediaHTTPService.cpp", "IMediaHTTPService.cpp",
"IMediaExtractor.cpp", "IMediaExtractor.cpp",
@ -52,9 +145,6 @@ cc_library_shared {
"IResourceManagerClient.cpp", "IResourceManagerClient.cpp",
"IResourceManagerService.cpp", "IResourceManagerService.cpp",
"IStreamSource.cpp", "IStreamSource.cpp",
"MediaCodecBuffer.cpp",
"MediaCodecInfo.cpp",
"MediaDefs.cpp",
"MediaUtils.cpp", "MediaUtils.cpp",
"Metadata.cpp", "Metadata.cpp",
"mediarecorder.cpp", "mediarecorder.cpp",
@ -63,7 +153,6 @@ cc_library_shared {
"MidiDeviceInfo.cpp", "MidiDeviceInfo.cpp",
"MidiIoWrapper.cpp", "MidiIoWrapper.cpp",
"JetPlayer.cpp", "JetPlayer.cpp",
"IOMX.cpp",
"MediaScanner.cpp", "MediaScanner.cpp",
"MediaScannerClient.cpp", "MediaScannerClient.cpp",
"CharacterEncodingDetector.cpp", "CharacterEncodingDetector.cpp",
@ -71,14 +160,8 @@ cc_library_shared {
"MediaProfiles.cpp", "MediaProfiles.cpp",
"MediaResource.cpp", "MediaResource.cpp",
"MediaResourcePolicy.cpp", "MediaResourcePolicy.cpp",
"OMXBuffer.cpp",
"Visualizer.cpp", "Visualizer.cpp",
"StringArray.cpp", "StringArray.cpp",
"omx/1.0/WGraphicBufferSource.cpp",
"omx/1.0/WOmx.cpp",
"omx/1.0/WOmxBufferSource.cpp",
"omx/1.0/WOmxNode.cpp",
"omx/1.0/WOmxObserver.cpp",
], ],
shared_libs: [ shared_libs: [
@ -106,11 +189,8 @@ cc_library_shared {
"libhwbinder", "libhwbinder",
"libhidlmemory", "libhidlmemory",
"android.hidl.memory@1.0", "android.hidl.memory@1.0",
"android.hidl.token@1.0-utils",
"android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.0",
"android.hardware.graphics.bufferqueue@1.0", "android.hardware.graphics.bufferqueue@1.0",
"android.hardware.media@1.0",
"android.hardware.media.omx@1.0",
], ],
export_shared_lib_headers: [ export_shared_lib_headers: [
@ -119,8 +199,6 @@ cc_library_shared {
"libicui18n", "libicui18n",
"libsonivox", "libsonivox",
"libmediadrm", "libmediadrm",
"android.hidl.token@1.0-utils",
"android.hardware.media.omx@1.0",
"android.hidl.memory@1.0", "android.hidl.memory@1.0",
], ],
@ -136,7 +214,6 @@ cc_library_shared {
], ],
export_include_dirs: [ export_include_dirs: [
"aidl",
"include", "include",
], ],
cflags: [ cflags: [

@ -89,7 +89,6 @@ cc_library_shared {
"libmediautils", "libmediautils",
"libnetd_client", "libnetd_client",
"libsonivox", "libsonivox",
"libstagefright_omx",
"libui", "libui",
"libutils", "libutils",
"libvorbisidec", "libvorbisidec",
@ -114,6 +113,7 @@ cc_library_shared {
"libstagefright_aacenc", "libstagefright_aacenc",
"libstagefright_matroska", "libstagefright_matroska",
"libstagefright_mediafilter", "libstagefright_mediafilter",
"libstagefright_omx_utils",
"libstagefright_webm", "libstagefright_webm",
"libstagefright_timedtext", "libstagefright_timedtext",
"libvpx", "libvpx",

@ -1,35 +1,6 @@
COMMON_SRCS = [ cc_library_shared {
"AAtomizer.cpp", name: "libstagefright_foundation",
"ABitReader.cpp", vendor_available: true,
"ABuffer.cpp",
"ADebug.cpp",
"AHandler.cpp",
"AHierarchicalStateMachine.cpp",
"ALooper.cpp",
"ALooperRoster.cpp",
"AMessage.cpp",
"ANetworkSession.cpp",
"AString.cpp",
"AStringUtils.cpp",
"ColorUtils.cpp",
"MediaBuffer.cpp",
"MediaBufferGroup.cpp",
"MetaData.cpp",
"ParsedMessage.cpp",
"base64.cpp",
"hexdump.cpp",
]
COMMON_LIBS = [
"libbinder",
"libutils",
"libui",
"libcutils",
"liblog",
]
cc_defaults {
name: "libstagefright_foundation-defaults",
include_dirs: [ include_dirs: [
"frameworks/av/include", "frameworks/av/include",
@ -59,6 +30,45 @@ cc_defaults {
"-Wall", "-Wall",
], ],
shared_libs: [
"libbinder",
"libutils",
"libui",
"libcutils",
"liblog",
"libpowermanager",
],
srcs: [
"AAtomizer.cpp",
"ABitReader.cpp",
"ABuffer.cpp",
"ADebug.cpp",
"AHandler.cpp",
"AHierarchicalStateMachine.cpp",
"ALooper.cpp",
"ALooperRoster.cpp",
"AMessage.cpp",
"ANetworkSession.cpp",
"AString.cpp",
"AStringUtils.cpp",
"AWakeLock.cpp",
"ColorUtils.cpp",
"MediaBuffer.cpp",
"MediaBufferGroup.cpp",
"MetaData.cpp",
"ParsedMessage.cpp",
"base64.cpp",
"hexdump.cpp",
],
target: {
vendor: {
exclude_shared_libs: ["libpowermanager"],
exclude_srcs: ["AWakeLock.cpp"],
},
},
clang: true, clang: true,
sanitize: { sanitize: {
@ -72,20 +82,3 @@ cc_defaults {
}, },
}, },
} }
cc_library_shared {
name: "libstagefright_foundation",
defaults: ["libstagefright_foundation-defaults"],
srcs: COMMON_SRCS + ["AWakeLock.cpp"],
shared_libs: COMMON_LIBS + ["libpowermanager"],
}
cc_library_shared {
name: "libstagefright_foundation_vendor",
defaults: ["libstagefright_foundation-defaults"],
vendor: true,
srcs: COMMON_SRCS,
shared_libs: COMMON_LIBS,
}

@ -1,5 +1,6 @@
cc_library_shared { cc_library_shared {
name: "libstagefright_omx", name: "libstagefright_omx",
vendor_available: true,
srcs: [ srcs: [
"FrameDropper.cpp", "FrameDropper.cpp",
@ -25,16 +26,19 @@ cc_library_shared {
], ],
include_dirs: [ include_dirs: [
"frameworks/av/include", // for media/vndk/xmlparser/1.0/MediaCodecsXmlParser.h
"frameworks/av/include/media/",
"frameworks/av/media/libstagefright", "frameworks/av/media/libstagefright",
"frameworks/av/media/libstagefright/include",
"frameworks/native/include", // for media/hardware/MetadataBufferType.h
"frameworks/native/include/media/hardware", "frameworks/native/include/media/hardware",
// TODO: export this?
"frameworks/native/include/media/openmax", "frameworks/native/include/media/openmax",
], ],
shared_libs: [ shared_libs: [
"libbase", "libbase",
"libbinder", "libbinder",
"libmedia", "libmedia_omx",
"libutils", "libutils",
"liblog", "liblog",
"libui", "libui",
@ -45,8 +49,10 @@ cc_library_shared {
"libhidlbase", "libhidlbase",
"libhidlmemory", "libhidlmemory",
"libhidltransport", "libhidltransport",
"libnativewindow", // TODO(b/62923479): use header library
"libstagefright_xmlparser@1.0", "libstagefright_xmlparser@1.0",
"android.hidl.memory@1.0", "android.hidl.memory@1.0",
"android.hidl.token@1.0-utils",
"android.hardware.media@1.0", "android.hardware.media@1.0",
"android.hardware.media.omx@1.0", "android.hardware.media.omx@1.0",
"android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.0",
@ -74,6 +80,27 @@ cc_library_shared {
}, },
} }
cc_library_static {
name: "libstagefright_omx_utils",
srcs: ["OMXUtils.cpp"],
include_dirs: [
"frameworks/av/media/libstagefright",
"frameworks/native/include/media/hardware",
"frameworks/native/include/media/openmax",
],
shared_libs: ["libmedia"],
sanitize: {
misc_undefined: [
"signed-integer-overflow",
"unsigned-integer-overflow",
],
cfi: true,
diag: {
cfi: true,
},
},
}
//############################################################################### //###############################################################################
subdirs = ["tests"] subdirs = ["tests"]

@ -1,4 +1,4 @@
subdirs = [ subdirs = [
"*", "xmlparser/1.0",
] ]

@ -1,6 +1,6 @@
cc_library_shared { cc_library_shared {
name: "libstagefright_xmlparser@1.0", name: "libstagefright_xmlparser@1.0",
vendor_available: true,
srcs: [ srcs: [
"MediaCodecsXmlParser.cpp", "MediaCodecsXmlParser.cpp",

@ -1,4 +0,0 @@
subdirs = [
"*",
]

@ -4,46 +4,52 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_SRC_FILES := MediaCodecService.cpp LOCAL_SRC_FILES := MediaCodecService.cpp
LOCAL_SHARED_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \
libmedia \ libmedia_omx \
libbinder \ libbinder \
libgui \ libgui \
libutils \ libutils \
liblog \ liblog \
libstagefright_omx libstagefright_omx
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
frameworks/av/include \
frameworks/av/media/libstagefright \ frameworks/av/media/libstagefright \
frameworks/av/media/libstagefright/include \
frameworks/native/include \
frameworks/native/include/media/openmax frameworks/native/include/media/openmax
LOCAL_MODULE:= libmediacodecservice LOCAL_MODULE:= libmediacodecservice
LOCAL_VENDOR_MODULE := true
LOCAL_32_BIT_ONLY := true LOCAL_32_BIT_ONLY := true
include $(BUILD_SHARED_LIBRARY) include $(BUILD_SHARED_LIBRARY)
# service executable # service executable
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_REQUIRED_MODULES_arm := mediacodec.policy LOCAL_REQUIRED_MODULES_arm := mediacodec.policy
LOCAL_SRC_FILES := main_codecservice.cpp LOCAL_SRC_FILES := main_codecservice.cpp
LOCAL_SHARED_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \
libmedia \ libmedia_omx \
libmediacodecservice \ libmediacodecservice \
libbinder \ libbinder \
libutils \ libutils \
libgui \ libgui \
liblog \ liblog \
libbase \ libbase \
libavservices_minijail \ libavservices_minijail_vendor \
libcutils \ libcutils \
libhwbinder \ libhwbinder \
libhidltransport \ libhidltransport \
libstagefright_omx \ libstagefright_omx \
android.hardware.media.omx@1.0 \ android.hardware.media.omx@1.0 \
android.hidl.memory@1.0 android.hidl.memory@1.0
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
frameworks/av/include \
frameworks/av/media/libstagefright \ frameworks/av/media/libstagefright \
frameworks/av/media/libstagefright/include \ frameworks/av/media/libstagefright/include \
frameworks/native/include \
frameworks/native/include/media/openmax frameworks/native/include/media/openmax
LOCAL_MODULE := android.hardware.media.omx@1.0-service LOCAL_MODULE := android.hardware.media.omx@1.0-service
LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_PROPRIETARY_MODULE := true LOCAL_VENDOR_MODULE := true
LOCAL_32_BIT_ONLY := true LOCAL_32_BIT_ONLY := true
LOCAL_INIT_RC := android.hardware.media.omx@1.0-service.rc LOCAL_INIT_RC := android.hardware.media.omx@1.0-service.rc
include $(BUILD_EXECUTABLE) include $(BUILD_EXECUTABLE)

@ -8,6 +8,14 @@ LOCAL_SHARED_LIBRARIES := libbase libminijail
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
include $(BUILD_SHARED_LIBRARY) include $(BUILD_SHARED_LIBRARY)
# Small library for media.extractor and media.codec sandboxing.
include $(CLEAR_VARS)
LOCAL_MODULE := libavservices_minijail_vendor
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := minijail.cpp
LOCAL_SHARED_LIBRARIES := libbase libminijail_vendor
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
include $(BUILD_SHARED_LIBRARY)
# Unit tests. # Unit tests.
include $(CLEAR_VARS) include $(CLEAR_VARS)

Loading…
Cancel
Save