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)
|
LOCAL_PATH:= $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
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
|
# 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/include \
|
||||||
$(TOP)/frameworks/base/drm/libdrmframework/plugins/common/include \
|
$(TOP)/frameworks/base/drm/libdrmframework/plugins/common/include \
|
||||||
$(TOP)/frameworks/base/include
|
$(TOP)/frameworks/base/include
|
||||||
|
|
||||||
|
|||||||
@@ -2,24 +2,13 @@ ifeq ($(TARGET_ARCH),arm)
|
|||||||
|
|
||||||
LOCAL_PATH:= $(call my-dir)
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
LOCAL_PREBUILT_LIBS := \
|
||||||
LOCAL_MODULE := libwvocs
|
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL).so \
|
||||||
LOCAL_SRC_FILES := \
|
libwvocs_L$(LOCAL_OEMCRYPTO_LEVEL).a
|
||||||
libwvocs.a
|
|
||||||
LOCAL_MODULE_TAGS := optional
|
|
||||||
LOCAL_MODULE_SUFFIX := .a
|
|
||||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
|
||||||
include $(BUILD_PREBUILT)
|
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
LOCAL_MODULE := liboemstub
|
|
||||||
LOCAL_SRC_FILES := \
|
|
||||||
liboemstub.a
|
|
||||||
LOCAL_MODULE_TAGS := optional
|
LOCAL_MODULE_TAGS := optional
|
||||||
LOCAL_MODULE_SUFFIX := .a
|
include $(BUILD_MULTI_PREBUILT)
|
||||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
|
||||||
include $(BUILD_PREBUILT)
|
|
||||||
|
|
||||||
endif
|
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.
|
# required to build the plugin.
|
||||||
#
|
#
|
||||||
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/common.mk
|
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/common.mk
|
||||||
|
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||||
|
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
||||||
libdrmframeworkcommon \
|
libdrmframeworkcommon \
|
||||||
libdrmwvmcommon \
|
libdrmwvmcommon \
|
||||||
libwvocs
|
libwvocs_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libbinder \
|
libbinder \
|
||||||
@@ -16,6 +17,6 @@ LOCAL_SHARED_LIBRARIES := \
|
|||||||
libcutils \
|
libcutils \
|
||||||
libstlport \
|
libstlport \
|
||||||
libz \
|
libz \
|
||||||
libwvdrm \
|
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||||
libWVStreamControlAPI \
|
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||||
libdl
|
libdl
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ LOCAL_C_INCLUDES+= \
|
|||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libstlport \
|
libstlport \
|
||||||
libwvdrm \
|
|
||||||
liblog \
|
liblog \
|
||||||
libutils \
|
libutils \
|
||||||
libz \
|
libz \
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ void WVMDrmPluginTest::Run()
|
|||||||
const char *path = "/system/lib/drm/libdrmwvmplugin.so";
|
const char *path = "/system/lib/drm/libdrmwvmplugin.so";
|
||||||
void *handle = dlopen(path, RTLD_NOW);
|
void *handle = dlopen(path, RTLD_NOW);
|
||||||
if (handle == NULL) {
|
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);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,12 @@ ifeq ($(TARGET_ARCH),arm)
|
|||||||
LOCAL_PATH:= $(call my-dir)
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
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_TAGS := optional
|
||||||
LOCAL_MODULE_SUFFIX := $(suffix $(LOCAL_SRC_FILES))
|
include $(BUILD_MULTI_PREBUILT)
|
||||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
|
||||||
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
|
|
||||||
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
|
|
||||||
include $(BUILD_PREBUILT)
|
|
||||||
|
|
||||||
endif
|
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,11 +3,14 @@ ifeq ($(TARGET_ARCH),arm)
|
|||||||
LOCAL_PATH:= $(call my-dir)
|
LOCAL_PATH:= $(call my-dir)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||||
|
|
||||||
LOCAL_SRC_FILES:= \
|
LOCAL_SRC_FILES:= \
|
||||||
TestPlayer.cpp
|
TestPlayer.cpp
|
||||||
|
|
||||||
LOCAL_C_INCLUDES+= \
|
LOCAL_MODULE_TAGS := tests
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES += \
|
||||||
bionic \
|
bionic \
|
||||||
vendor/widevine/proprietary/include \
|
vendor/widevine/proprietary/include \
|
||||||
external/stlport/stlport \
|
external/stlport/stlport \
|
||||||
@@ -18,18 +21,16 @@ LOCAL_C_INCLUDES+= \
|
|||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libstlport \
|
libstlport \
|
||||||
libWVStreamControlAPI \
|
|
||||||
libdrmframework \
|
libdrmframework \
|
||||||
libwvdrm \
|
|
||||||
liblog \
|
liblog \
|
||||||
libutils \
|
libutils \
|
||||||
libz \
|
libz \
|
||||||
libcutils \
|
libcutils \
|
||||||
libdl
|
libdl \
|
||||||
|
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||||
|
libwvdrm_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||||
|
|
||||||
LOCAL_MODULE:=test-wvplayer
|
LOCAL_MODULE:=test-wvplayer_L$(LOCAL_OEMCRYPTO_LEVEL)
|
||||||
|
|
||||||
LOCAL_MODULE_TAGS := tests
|
|
||||||
|
|
||||||
include $(BUILD_EXECUTABLE)
|
include $(BUILD_EXECUTABLE)
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,11 @@ ifeq ($(TARGET_ARCH),arm)
|
|||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/oemcryptolevel.mk
|
||||||
|
|
||||||
|
ifeq ($(LOCAL_OEMCRYPTO_LEVEL),1)
|
||||||
LOCAL_CFLAGS := -DREQUIRE_SECURE_BUFFERS
|
LOCAL_CFLAGS := -DREQUIRE_SECURE_BUFFERS
|
||||||
|
endif
|
||||||
|
|
||||||
LOCAL_SRC_FILES:= \
|
LOCAL_SRC_FILES:= \
|
||||||
WVMLogging.cpp \
|
WVMLogging.cpp \
|
||||||
@@ -24,7 +27,7 @@ LOCAL_C_INCLUDES:= \
|
|||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libstlport \
|
libstlport \
|
||||||
libstagefright \
|
libstagefright \
|
||||||
libWVStreamControlAPI \
|
libWVStreamControlAPI_L$(LOCAL_OEMCRYPTO_LEVEL) \
|
||||||
libdrmframework \
|
libdrmframework \
|
||||||
libcutils \
|
libcutils \
|
||||||
liblog \
|
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");
|
LOGE("Failed to locate GetInstance in libwvm.so");
|
||||||
}
|
}
|
||||||
|
|
||||||
// dlclose(handle);
|
dlclose(handle);
|
||||||
printf("Test successful!\n");
|
printf("Test successful!\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user