Some restructuring of the build was required to support the different
OEM security levels used on tuna vs stingray & crespo. This is part of the work for b/4598045 Implementing secure video path on TI OMAP4 chip for ICS. The Widevine libraries included here, 4.5.0.4321 also contain a fix for b/4400696 Pinning and unpinning multiple movie for download behavior is not uniform for multiple tries. Change-Id: I67f34c06a0353ac7f401f55c1ed4fc2493bc8ab7
This commit is contained in:
@@ -1,20 +1,6 @@
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
ifeq ($(TARGET_ARCH),arm)
|
||||
|
||||
LOCAL_MODULE := libwvdrm
|
||||
LOCAL_SRC_FILES := \
|
||||
lib/libwvdrm.so
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := $(suffix $(LOCAL_SRC_FILES))
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
|
||||
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
endif
|
||||
|
||||
########################
|
||||
# Feature file for clients to look up widevine drm plug-in
|
||||
|
||||
|
||||
@@ -7,4 +7,3 @@ LOCAL_C_INCLUDES:= \
|
||||
$(TOP)/frameworks/base/drm/libdrmframework/include \
|
||||
$(TOP)/frameworks/base/drm/libdrmframework/plugins/common/include \
|
||||
$(TOP)/frameworks/base/include
|
||||
|
||||
|
||||
@@ -2,24 +2,13 @@ ifeq ($(TARGET_ARCH),arm)
|
||||
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwvocs
|
||||
LOCAL_SRC_FILES := \
|
||||
libwvocs.a
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := .a
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
include $(BUILD_PREBUILT)
|
||||
LOCAL_PREBUILT_LIBS := \
|
||||
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL).so \
|
||||
libwvocs_L$(LOCAL_OEMCRYPTO_LEVEL).a
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := liboemstub
|
||||
LOCAL_SRC_FILES := \
|
||||
liboemstub.a
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := .a
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
include $(BUILD_PREBUILT)
|
||||
include $(BUILD_MULTI_PREBUILT)
|
||||
|
||||
endif
|
||||
Binary file not shown.
Binary file not shown.
BIN
proprietary/drmwvmplugin/lib/libwvdrm_L1.so
Normal file
BIN
proprietary/drmwvmplugin/lib/libwvdrm_L1.so
Normal file
Binary file not shown.
BIN
proprietary/drmwvmplugin/lib/libwvdrm_L3.so
Normal file
BIN
proprietary/drmwvmplugin/lib/libwvdrm_L3.so
Normal file
Binary file not shown.
Binary file not shown.
BIN
proprietary/drmwvmplugin/lib/libwvocs_L1.a
Normal file
BIN
proprietary/drmwvmplugin/lib/libwvocs_L1.a
Normal file
Binary file not shown.
BIN
proprietary/drmwvmplugin/lib/libwvocs_L3.a
Normal file
BIN
proprietary/drmwvmplugin/lib/libwvocs_L3.a
Normal file
Binary file not shown.
7
proprietary/drmwvmplugin/oemcryptolevel.mk
Normal file
7
proprietary/drmwvmplugin/oemcryptolevel.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
# determine which oem crypto level API is being used on this device
|
||||
# so we can link with the appropriate libs.
|
||||
ifneq (,$(filter libwvdrm_L1, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES)))
|
||||
LOCAL_OEMCRYPTO_LEVEL := 1
|
||||
else
|
||||
LOCAL_OEMCRYPTO_LEVEL := 3
|
||||
endif
|
||||
@@ -4,11 +4,12 @@
|
||||
# required to build the plugin.
|
||||
#
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/common.mk
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
||||
libdrmframeworkcommon \
|
||||
libdrmwvmcommon \
|
||||
libwvocs
|
||||
libwvocs_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbinder \
|
||||
@@ -16,6 +17,6 @@ LOCAL_SHARED_LIBRARIES := \
|
||||
libcutils \
|
||||
libstlport \
|
||||
libz \
|
||||
libwvdrm \
|
||||
libWVStreamControlAPI \
|
||||
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||
libdl
|
||||
|
||||
@@ -18,7 +18,6 @@ LOCAL_C_INCLUDES+= \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libstlport \
|
||||
libwvdrm \
|
||||
liblog \
|
||||
libutils \
|
||||
libz \
|
||||
|
||||
@@ -59,7 +59,7 @@ void WVMDrmPluginTest::Run()
|
||||
const char *path = "/system/lib/drm/libdrmwvmplugin.so";
|
||||
void *handle = dlopen(path, RTLD_NOW);
|
||||
if (handle == NULL) {
|
||||
fprintf(stderr, "Can't open plugin: %s\n", path);
|
||||
fprintf(stderr, "Can't open plugin: %s %s\n", path, dlerror());
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,15 +3,12 @@ ifeq ($(TARGET_ARCH),arm)
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||
|
||||
LOCAL_PREBUILT_LIBS := \
|
||||
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL).so
|
||||
|
||||
LOCAL_MODULE := libWVStreamControlAPI
|
||||
LOCAL_SRC_FILES := \
|
||||
libWVStreamControlAPI.so
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := $(suffix $(LOCAL_SRC_FILES))
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
|
||||
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
||||
include $(BUILD_PREBUILT)
|
||||
include $(BUILD_MULTI_PREBUILT)
|
||||
|
||||
endif
|
||||
|
||||
Binary file not shown.
BIN
proprietary/streamcontrol/lib/libWVStreamControlAPI_L1.so
Normal file
BIN
proprietary/streamcontrol/lib/libWVStreamControlAPI_L1.so
Normal file
Binary file not shown.
BIN
proprietary/streamcontrol/lib/libWVStreamControlAPI_L3.so
Normal file
BIN
proprietary/streamcontrol/lib/libWVStreamControlAPI_L3.so
Normal file
Binary file not shown.
@@ -3,10 +3,13 @@ ifeq ($(TARGET_ARCH),arm)
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||
|
||||
LOCAL_SRC_FILES:= \
|
||||
TestPlayer.cpp
|
||||
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
bionic \
|
||||
vendor/widevine/proprietary/include \
|
||||
@@ -18,18 +21,16 @@ LOCAL_C_INCLUDES+= \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libstlport \
|
||||
libWVStreamControlAPI \
|
||||
libdrmframework \
|
||||
libwvdrm \
|
||||
liblog \
|
||||
libutils \
|
||||
libz \
|
||||
libcutils \
|
||||
libdl
|
||||
libdl \
|
||||
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||
|
||||
LOCAL_MODULE:=test-wvplayer
|
||||
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
LOCAL_MODULE:=test-wvplayer_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
|
||||
@@ -3,8 +3,11 @@ ifeq ($(TARGET_ARCH),arm)
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||
|
||||
ifeq ($(LOCAL_OEMCRYPTO_LEVEL),1)
|
||||
LOCAL_CFLAGS := -DREQUIRE_SECURE_BUFFERS
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES:= \
|
||||
WVMLogging.cpp \
|
||||
@@ -24,7 +27,7 @@ LOCAL_C_INCLUDES:= \
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libstlport \
|
||||
libstagefright \
|
||||
libWVStreamControlAPI \
|
||||
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||
libdrmframework \
|
||||
libcutils \
|
||||
liblog \
|
||||
|
||||
0
proprietary/wvm/common.mk
Normal file
0
proprietary/wvm/common.mk
Normal file
@@ -69,7 +69,7 @@ void TestLibWVM::Load()
|
||||
LOGE("Failed to locate GetInstance in libwvm.so");
|
||||
}
|
||||
|
||||
// dlclose(handle);
|
||||
dlclose(handle);
|
||||
printf("Test successful!\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user