[DESCRIPTION]
主要介绍mtk支持的DRM Widevine Level; WV与DRM feature option的开关;play movies play videos popups couldn't fetch license (error 43)


[SOLUTION]


一、DRM 基本信息:


1. MTK DRM support Level:

OMA DRM V1.0
Widevine L3.


2. OMA DRM support MIME format:


a. DRM content MIME:


application/vnd.oma.drm.content ---- .dcf
application/vnd.oma.drm.message ---- .dm


b. 权限文件的MIME:


application/vnd.oma.drm.rights+wbxml ---- .drc
application/vnd.oma.drm.rights+xml ----- .dr


c. MTK支持的非DRM protected的Image/Audio/Video格式,DRM就支持此media格式。DRM只是做了权限控制而已,DRM能支持的media格式就是Decoder能支持的格式。


3. OMA DRM support types:


Default support ForwardLock, Combined Delivery, Seperate Delivery,
ForwardLock_SeperateDelivery Total 4 types.


二、WV与OMA的feature option


Please follow the description section 2.3 below:


1 Introduction


Currently on JB SW packages, we've got 2 DRM features supported: OMA DRM v1.0 and Widevine DRM Level 3. By default these 2 DRM features are enabled.
This document describes how to disable these 2 features separately, or both.

2 Steps


2.1 Disable Widevine DRM Level 3 but keep OMA DRM v1.0 enabled
>> Define "MTK_WVDRM_SUPPORT=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.
>> Fully remake your software codebase.


2.2 Disable both Widevine DRM Level 3 and OMA DRM v1.0
>> Define "MTK_WVDRM_SUPPORT=no" and "MTK_DRM_APP=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.
>> Fully remake your software codebase.


2.3 Disable OMA DRM v1.0 but keep Widevine DRM Level 3 enabled
>> Define "MTK_DRM_APP=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.


>> Find the source file:
[alps/packages/providers/DrmProvider/src/com/android/providers/drm/BootCompletedReceiver.java]
In the overridden method "public void onReceive(...)", you shall find an "if (FeatureOption.MTK_DRM_APP) {...}" judgment part. Remove the "if" judgment so that those code can be executed at boot-up time.


>> You also need to make sure some utility libraries are installed on
device.
Find the source file:
[alps/build/target/product/common.mk]
You shall then find the following part:
--------------------------------------------------------------------------
--
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PACKAGES += \
libdrmmtkplugin \
drm_chmod \
libdcfdecoderjni
endif
--------------------------------------------------------------------------
--
Modify it as below to make sure "libdrmmtkplugin" & "libdrmmtkutil.so" is installed on device when "MTK_DRM_APP" is disabled.
--------------------------------------------------------------------------
--
PRODUCT_PACKAGES += libdrmmtkplugin
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PACKAGES += \
drm_chmod \
libdcfdecoderjni
endif
--------------------------------------------------------------------------
--
>> Fully remake your software codebase.


三、打开FL_ONLY的方法


You'll need to add "PRODUCT_PROPERTY_OVERRIDES" definition in order to set system property which enables "Forward-lock-only".
For example, you may modify the file: alps/build/target/product/common.mk And add the following, which add the system property
[drm.forwardlock.only], and set its value:
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PROPERTY_OVERRIDES += \
drm.forwardlock.only=true
endif
Then it will disable the support for CD/SD of OMA DRM v1.0 feature.


四、OMA drm 测试网址


http://202.108.92.230


五、DRM专利问题


OMA不涉及到什么权限专利的问题, widevine见下面一点。


六、Widevine白名单问题


Widevine如果是要播google play store上的视频,需要加入google白名单,与google签协议。
log中有couldn't fetch license (error 43)的字样,表示是此问题。


以下引用Google早前答复的内容:


“...the devices must be offcially approved in order to be whitelisted and,therefore, be able to access the production WV contents. ...(one of the OEM) is our partner and they are not supposed to have Google Play in the first place. Please let them know they cannot use Google Play without license.”






文章转自×××论坛,原文链接:http://bbs.×××/thread-53861-1-1.html