Revert Widevine 6.0.0 -> 4.5.0 libraries

Includes Widevine libraries Version 4.5.0.7809

Also fixed samplePlayer's MediaCodec mode not running and
WVDrmInfoRequestStatusKey returning incorrect value.

Change-Id: Ibcc6d313790670a908ada93be80d6bf55a67b4ed
related-to-bug: 6929628
related-to-bug: 6833718
related-to-bug: 6889322
This commit is contained in:
Edwin Wong
2012-07-23 17:40:57 -07:00
parent 735ec731f2
commit e9f5431e78
33 changed files with 360 additions and 1082 deletions

View File

@@ -34,7 +34,7 @@ include $(BUILD_JAVA_LIBRARY)
ifneq ($(filter arm x86,$(TARGET_ARCH)),)
include $(CLEAR_VARS)
include vendor/widevine/proprietary/drmwvmplugin/common.mk
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/common.mk
LOCAL_SRC_FILES:= \
src/WVMDrmPlugin.cpp \

View File

@@ -1,13 +1,13 @@
LOCAL_C_INCLUDES:= \
bionic \
bionic/libstdc++/include \
external/stlport/stlport \
vendor/widevine/proprietary/streamcontrol/include \
vendor/widevine/proprietary/drmwvmplugin/include \
frameworks/av/drm/libdrmframework/include \
frameworks/av/drm/libdrmframework/plugins/common/include \
frameworks/av/include
$(TOP)/bionic \
$(TOP)/bionic/libstdc++/include \
$(TOP)/external/stlport/stlport \
$(TOP)/vendor/widevine/proprietary/streamcontrol/include \
$(TOP)/vendor/widevine/proprietary/drmwvmplugin/include \
$(TOP)/frameworks/av/drm/libdrmframework/include \
$(TOP)/frameworks/av/drm/libdrmframework/plugins/common/include \
$(TOP)/frameworks/av/include
ifeq ($(TARGET_ARCH),x86)
LOCAL_C_INCLUDES += system/core/include/arch/linux-x86
LOCAL_C_INCLUDES += $(TOP)/system/core/include/arch/linux-x86
endif

View File

@@ -31,7 +31,8 @@ class WVDRMPluginAPI {
// provisionedFlags
enum {
DEVICE_IS_PROVISIONED,
DEVICE_IS_NOT_PROVISIONED
DEVICE_IS_NOT_PROVISIONED,
DEVICE_IS_PROVISIONED_SD_ONLY
};
static const int PlaybackMode_Default = 0;
@@ -70,7 +71,7 @@ class WVDRMPluginAPI {
virtual bool RemoveRights(std::string &path) = 0;
virtual bool RemoveAllRights() = 0;
virtual bool Prepare(char *data, int len) = 0;
virtual int Operate(char *in, char *out, int len, char *iv) = 0;
virtual int Operate(char *in, int inLength, char *out, int outLength, char *iv) = 0;
enum EventType {
EventType_AcquireDrmInfoFailed,

View File

@@ -8,6 +8,7 @@ ifneq ($(BOARD_USES_GENERIC_WIDEVINE),false)
# libwvdrm_L?.so
include $(CLEAR_VARS)
LOCAL_MODULE := libwvdrm_L$(BOARD_WIDEVINE_OEMCRYPTO_LEVEL)
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
@@ -23,6 +24,7 @@ include $(BUILD_PREBUILT)
# libwvocs_L?.a
include $(CLEAR_VARS)
LOCAL_MODULE := libwvocs_L$(BOARD_WIDEVINE_OEMCRYPTO_LEVEL)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_SUFFIX := .a

View File

@@ -3,7 +3,7 @@
# Widevine DRM plugin. Sets up includes and defines the core libraries
# required to build the plugin.
#
include vendor/widevine/proprietary/drmwvmplugin/common.mk
include $(TOP)/vendor/widevine/proprietary/drmwvmplugin/common.mk
ifndef BOARD_WIDEVINE_OEMCRYPTO_LEVEL
$(error BOARD_WIDEVINE_OEMCRYPTO_LEVEL not defined!)

View File

@@ -851,10 +851,8 @@ status_t WVMDrmPlugin::onDecrypt(int uniqueId, DecryptHandle* decryptHandle, int
if (*decBuffer == NULL)
return DRM_ERROR_DECRYPT;
(*decBuffer)->length = encBuffer->length;
int status;
status = mDrmPluginImpl->Operate(encBuffer->data, (*decBuffer)->data, encBuffer->length, iv);
status = mDrmPluginImpl->Operate(encBuffer->data, encBuffer->length, (*decBuffer)->data, (*decBuffer)->length, iv);
if (status != WVDRMPluginAPI::RIGHTS_VALID) {
(*decBuffer)->length = 0;
usleep(1000); // prevent spinning

View File

@@ -17,7 +17,7 @@ LOCAL_C_INCLUDES+= \
frameworks/av/drm/libdrmframework/plugins/common/include
ifeq ($(TARGET_ARCH),x86)
LOCAL_C_INCLUDES += system/core/include/arch/linux-x86
LOCAL_C_INCLUDES += $(TOP)/system/core/include/arch/linux-x86
endif
LOCAL_SHARED_LIBRARIES := \