Skip to content

Commit 85c1b52

Browse files
authored
Merge pull request #321 from WebPlatformForEmbedded/dev/Main-Playready4
Playready v4 default in Main
2 parents 801d7e2 + c9f17cf commit 85c1b52

File tree

9 files changed

+138
-7
lines changed

9 files changed

+138
-7
lines changed

package/Config.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ endmenu
185185

186186
menu "Digital rights management"
187187
source "package/playready/Config.in"
188+
source "package/playready4/Config.in"
188189
source "package/widevine/Config.in"
189190
endmenu
190191

package/libprovision/libprovision.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
################################################################################
66

7-
LIBPROVISION_VERSION = 10322dfe52ca4225289825dfdb4f78ae01345ed6
7+
LIBPROVISION_VERSION = 1f84847b6996128e1667999546244bedef1d2ac6
88
LIBPROVISION_SITE_METHOD = git
99
LIBPROVISION_SITE = [email protected]:Metrological/libprovision.git
1010
LIBPROVISION_LICENSE = PROPRIETARY

package/playready/Config.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
config BR2_PACKAGE_PLAYREADY
22
select BR2_PACKAGE_HAS_PLAYREADY
33
depends on BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY
4-
bool "playready"
4+
bool "Playready v2.5"
55
help
6-
A playready implementation port from Microsoft.
6+
A playready v2.5 implementation port from Microsoft.
77

88
config BR2_PACKAGE_HAS_PLAYREADY
99
bool

package/playready4/Config.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
config BR2_PACKAGE_PLAYREADY4
2+
select BR2_PACKAGE_HAS_PLAYREADY
3+
select BR2_PACKAGE_LIBCURL
4+
depends on BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY
5+
bool "Playready v4.0"
6+
help
7+
A playready v4 implementation port from Microsoft.
8+
9+
config BR2_PACKAGE_HAS_PLAYREADY
10+
bool
11+
12+
config BR2_PACKAGE_PROVIDES_PLAYREADY
13+
depends on BR2_PACKAGE_HAS_PLAYREADY
14+
string
15+
16+
if BR2_PACKAGE_PLAYREADY
17+
config BR2_PACKAGE_PROVIDES_PLAYREADY
18+
default "playready4"
19+
endif

package/playready4/playready.pc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=/usr
2+
exec_prefix=${prefix}
3+
libdir=${exec_prefix}/lib
4+
includedir=${prefix}/include/playready
5+
6+
Name: playready
7+
Description: Microsoft Playready
8+
Requires:
9+
Version: 4.0
10+
Libs: -L${libdir} -lplayready
11+
Cflags: -I${includedir} -I${includedir}/oem/common -I${includedir}/oem/ansi

package/playready4/playready4.mk

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
################################################################################
2+
#
3+
# Playready v4
4+
#
5+
################################################################################
6+
7+
PLAYREADY4_VERSION = 8440356ff33359a9f5b8e2453f51136df7559c32
8+
PLAYREADY4_SITE = [email protected]:Metrological/playready.git
9+
PLAYREADY4_SITE_METHOD = git
10+
PLAYREADY4_LICENSE = PROPRIETARY
11+
PLAYREADY4_DEPENDENCIES += libcurl
12+
PLAYREADY4_INSTALL_STAGING = YES
13+
PLAYREADY4_INSTALL_TARGET = YES
14+
PLAYREADY4_SUBDIR = "source/linux"
15+
PLAYREADY4_MAKE=$(MAKE1)
16+
PLAYREADY_USE_PROVISION = "OFF"
17+
18+
ifeq ($(BR2_PACKAGE_WPEFRAMEWORK_PROVISIONPROXY), y)
19+
PLAYREADY_USE_PROVISION = "ON"
20+
PLAYREADY4_DEPENDENCIES += wpeframework-clientlibraries
21+
endif
22+
23+
24+
# Generic Buildroot
25+
# Parallel build issues, Use MAKE1 to disable parallel
26+
define PLAYREADY4_BUILD_CMDS
27+
ulimit -n 4096; \
28+
export PLAYREADY_DIR="$(@D)/$(PLAYREADY4_SUBDIR)";\
29+
export PLAYREADY_ROOT="$(@D)";\
30+
export PLAYREADY_PROFILE="drmprofilelinux.mk";\
31+
export LINUX_BUILD="1";\
32+
$(TARGET_MAKE_ENV) $(MAKE1) PLAYREADY_GXX=$(TARGET_CC) \
33+
CC=$(TARGET_CC) \
34+
PLAYREADY_USE_PROVISION=$(PLAYREADY_USE_PROVISION) \
35+
LIBPATHS=" -L$(STAGING_DIR)/usr/lib " \
36+
AR=$(TARGET_AR) \
37+
PLAYREADY_PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)" \
38+
MACHINE=$(KERNEL_ARCH) -C $(@D)/source;
39+
endef
40+
41+
PLAYREADY4_DATA_DIR=/etc/playready
42+
43+
define PLAYREADY4_INSTALL
44+
$(INSTALL) -d $(1)/usr/lib
45+
$(INSTALL) -D -m 0755 $(@D)/bin/lib/libplayready.so $(1)/usr/lib/libplayready.so
46+
47+
test -f $(@D)/bin/exe/prdy_test.exe && \
48+
$(INSTALL) -D -m 0755 $(@D)/bin/exe/prdy_test.exe $(1)/usr/bin/prdy_test.exe
49+
50+
$(INSTALL) -d $(1)$(PLAYREADY4_DATA_DIR)
51+
endef
52+
53+
define PLAYREADY4_INSTALL_DEV
54+
$(call PLAYREADY4_INSTALL, $(1))
55+
56+
$(INSTALL) -d $(1)/usr/lib/pkgconfig
57+
$(INSTALL) -D package/playready4/playready.pc $(1)/usr/lib/pkgconfig/playready.pc
58+
59+
$(INSTALL) -d $(1)/usr/include/playready
60+
cp -a $(@D)/source/inc/* $(1)/usr/include/playready
61+
62+
$(INSTALL) -d $(1)/usr/include/playready/oem/common
63+
cp -a $(@D)/source/oem/common/inc/*.h $(1)/usr/include/playready/oem/common
64+
65+
$(INSTALL) -d $(1)/usr/include/playready/oem/ansi
66+
cp -a $(@D)/source/oem/ansi/inc/*.h $(1)/usr/include/playready/oem/ansi
67+
68+
cp -a $(@D)/source/results/*.h $(1)/usr/include/playready
69+
endef
70+
71+
define PLAYREADY4_INSTALL_STAGING_CMDS
72+
$(call PLAYREADY4_INSTALL_DEV, ${STAGING_DIR})
73+
endef
74+
75+
define PLAYREADY4_INSTALL_TARGET_CMDS
76+
$(call PLAYREADY4_INSTALL, ${TARGET_DIR})
77+
endef
78+
79+
define PLAYREADY4_INSTALL_TARGET_ETC_PLAYREADY
80+
ln -sf /tmp $(TARGET_DIR)/etc/playready/storage
81+
endef
82+
83+
PLAYREADY4_POST_INSTALL_TARGET_HOOKS += PLAYREADY4_INSTALL_TARGET_ETC_PLAYREADY
84+
85+
# It's not autotools-based
86+
$(eval $(generic-package))

package/wpe/wpeframework-cdmi/PlayreadyConfig.in

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ config BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY_MODULE
1010
PlayReady
1111

1212
config BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY
13-
select BR2_PACKAGE_PLAYREADY
14-
bool
13+
select BR2_PACKAGE_PLAYREADY4 if !BR2_PACKAGE_PLAYREADY
14+
bool
1515

1616
config BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY_NEXUS
1717
bool
@@ -33,6 +33,8 @@ config BR2_PACKAGE_BCM_REFSW_SAGE_PLAYREADY_30
3333

3434
endchoice
3535

36+
37+
3638
config BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY_SECURE_STOP_METERING_CERTIFICATE
3739
depends on BR2_PACKAGE_WPEFRAMEWORK_CDMI_PLAYREADY_NEXUS_SVP
3840
string "SecureStop metering certificate"

package/wpe/wpeframework-cdmi/wpeframework-cdmi-playready/wpeframework-cdmi-playready.mk

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,23 @@
44
#
55
################################################################################
66

7+
ifeq ($(BR2_PACKAGE_PLAYREADY4),y)
8+
WPEFRAMEWORK_CDMI_PLAYREADY_VERSION = 7e545356366b0cd1a3b3d7429a9037301bf747b0
9+
else
710
WPEFRAMEWORK_CDMI_PLAYREADY_VERSION = 59b3deba0710b9f372fd333fcc7aca2ebed483a6
11+
endif
812
WPEFRAMEWORK_CDMI_PLAYREADY_SITE_METHOD = git
913
WPEFRAMEWORK_CDMI_PLAYREADY_SITE = [email protected]:rdkcentral/OCDM-Playready.git
1014
WPEFRAMEWORK_CDMI_PLAYREADY_INSTALL_STAGING = YES
11-
WPEFRAMEWORK_CDMI_PLAYREADY_DEPENDENCIES = wpeframework-clientlibraries playready
15+
WPEFRAMEWORK_CDMI_PLAYREADY_DEPENDENCIES = wpeframework-clientlibraries
1216
WPEFRAMEWORK_CDMI_PLAYREADY_CONF_OPTS = -DPERSISTENT_PATH=${BR2_PACKAGE_WPEFRAMEWORK_PERSISTENT_PATH}
1317

18+
ifeq ($(BR2_PACKAGE_PLAYREADY4),y)
19+
WPEFRAMEWORK_CDMI_PLAYREADY_DEPENDENCIES += playready4
20+
WPEFRAMEWORK_CDMI_PLAYREADY_CONF_OPTS += -DNETFLIX_EXTENSION=OFF
21+
else
22+
WPEFRAMEWORK_CDMI_PLAYREADY_DEPENDENCIES += playready
23+
WPEFRAMEWORK_CDMI_PLAYREADY_CONF_OPTS += -DNETFLIX_EXTENSION=ON
24+
endif
25+
1426
$(eval $(cmake-package))

package/wpe/wpeframework-provisioning/wpeframework-provisioning.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
################################################################################
66

7-
WPEFRAMEWORK_PROVISIONING_VERSION = 6b4ae14236986b6762e44a2a116e11879c1cdd08
7+
WPEFRAMEWORK_PROVISIONING_VERSION = 9971f86e3c18a25e144e249f6dde2aac1f16fb6f
88
WPEFRAMEWORK_PROVISIONING_SITE_METHOD = git
99
WPEFRAMEWORK_PROVISIONING_SITE = [email protected]:WebPlatformForEmbedded/WPEPluginProvisioning.git
1010
WPEFRAMEWORK_PROVISIONING_INSTALL_STAGING = YES

0 commit comments

Comments
 (0)