Skip to content

Commit e79bdeb

Browse files
committed
[ACN]: OpenCDM integration
1 parent c6fa929 commit e79bdeb

File tree

12 files changed

+77
-447
lines changed

12 files changed

+77
-447
lines changed

board/acn/acn.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ WPEDatabaseProcess
44
WPEStorageProcess
55
WPEFramework
66
WPEProcess
7+
rpcbind
8+
rpcinfo
9+
netconfig
710
gst-plugin-scanner
811
gst-inspect-1.0
912
gst-launch-1.0
@@ -32,18 +35,27 @@ libgobject-2.0.so
3235
libgpg-error.so
3336
libgraphite2.so
3437
libgstadaptivedemux-1.0.so
38+
libgstallocators-1.0.so
3539
libgstapp-1.0.so
3640
libgstaudio-1.0.so
41+
libgstbadaudio-1.0.so
42+
libgstbadbase-1.0.so
43+
libgstbadvideo-1.0.so
3744
libgstbase-1.0.so
45+
libgstbasecamerabinsrc-1.0.so
3846
libgstcodecparsers-1.0.so
47+
libgstcontroller-1.0.so
3948
libgstfaad.so
4049
libgstfft-1.0.so
50+
libgstinsertbin-1.0.so
4151
libgstpbutils-1.0.so
4252
libgstmpegts-1.0.so
4353
libgstnet-1.0.so
54+
libgstplayer-1.0.so
4455
libgstreamer-1.0.so
4556
libgsttag-1.0.so
4657
libgstriff-1.0.so
58+
libgstrtsp-1.0.so
4759
libgstrtp-1.0.so
4860
libgsturidownloader-1.0.so
4961
libgstvideo-1.0.so
@@ -65,6 +77,7 @@ liborc-test-0.4.so
6577
libpcre.so
6678
libpixman-1.so
6779
libplayready.so
80+
libocdm.so
6881
libpng16.so
6982
libprovision.so
7083
librpc.so
@@ -111,6 +124,7 @@ libWPEFrameworkTracing.so
111124
libWPEFrameworkVirtualInput.so
112125
libWPEFrameworkTimeSync.so
113126
libWPEFrameworkWebShell.so
127+
libWPEFrameworkOpenCDMi.so
114128
libnxclient.so
115129
libWPEBackend.so
116130
libWPEBackend-rdk.so
@@ -123,3 +137,7 @@ libbrcmaudiosink.so
123137
libbrcmvideodecoder.so
124138
libbrcmvideosink.so
125139
libbrcmvidfilter.so
140+
libgstmatroska.so
141+
libgstopus.so
142+
libtirpc.so
143+
libopus.so

board/acn/wpeframework.sh

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#!/bin/sh
22

33
export SOURCE=/hdd/metrological
4-
export LD_LIBRARY_PATH=$SOURCE/usr/lib:/lib:/usr/lib:$SOURCE/lib
4+
#export LD_LIBRARY_PATH=$SOURCE/usr/lib:/lib:/usr/lib:$SOURCE/lib
5+
export LD_LIBRARY_PATH=$SOURCE/usr/lib:/lib:/usr/lib:$SOURCE/lib:$SOURCE/usr/lib/wpeframework/plugins:$SOURCE/usr/lib/wpeframework/proxystubs
56
export PATH=$SOURCE/usr/bin:$PATH
67
export GST_PLUGIN_SCANNER=$SOURCE/usr/libexec/gstreamer-1.0/gst-plugin-scanner
78
export GST_PLUGIN_SYSTEM_PATH=$SOURCE/usr/lib/gstreamer-1.0
@@ -26,24 +27,37 @@ metrological)
2627
mkdir -p $DESTINATION/share
2728
mkdir -p $DESTINATION/etc
2829
mkdir -p $DESTINATION/lib
30+
mkdir -p $DESTINATION/bin
2931
cp -rfap /usr/share/* $DESTINATION/share
3032
cp -rfap /etc/* $DESTINATION/etc
3133
cp -rfap /usr/lib/* $DESTINATION/lib
34+
cp -rfap /usr/bin/* $DESTINATION/bin
3235

3336
ln -s $SOURCE/usr/share/mime $DESTINATION/share/mime
3437
ln -s $SOURCE/usr/share/X11 $DESTINATION/share/X11
3538
ln -s $SOURCE/usr/share/WPEFramework $DESTINATION/share/WPEFramework
3639
ln -s $SOURCE/usr/share/fonts $DESTINATION/share/fonts
3740
ln -s $SOURCE/etc/ssl $DESTINATION/etc/ssl
3841
ln -s $SOURCE/etc/ssl $DESTINATION/lib/ssl
42+
ln -s $SOURCE/etc/netconfig $DESTINATION/etc/netconfig
3943
ln -s $SOURCE/etc/fonts $DESTINATION/etc/fonts
4044
ln -s $SOURCE/etc/WPEFramework $DESTINATION/etc/WPEFramework
4145
ln -s $SOURCE/usr/lib/gio $DESTINATION/lib/gio
4246
fi
4347
grep -q "/usr/share ext4" /proc/mounts && echo "/usr/share is already mounted" || mount -t ext4 --bind $DESTINATION/share/ /usr/share/
4448
grep -q "/etc ext4" /proc/mounts && echo "/etc is already mounted" || mount -t ext4 --bind $DESTINATION/etc/ /etc/
4549
grep -q "/usr/lib ext4" /proc/mounts && echo "/usr/lib is already mounted" || mount -t ext4 --bind $DESTINATION/lib/ /usr/lib/
50+
grep -q "/usr/bin ext4" /proc/mounts && echo "/usr/bin is already mounted" || mount -t ext4 --bind $DESTINATION/bin /usr/bin/
4651

52+
#launch rpcbind to create channel between framework and webkit
53+
ext=`pidof rpcbind`
54+
if [ ! $ext ]; then
55+
echo "Launching rpcbind ..."
56+
rpcbind
57+
else
58+
echo "rpcbind is already launched..."
59+
fi
60+
4761
#work around for playready
4862
cd /usr/bin/netflix
4963

@@ -58,6 +72,15 @@ metrological)
5872
grep -q "/usr/lib/gio ext4" /proc/mounts &&
5973
echo "/usr/lib/gio is already mounted" || mount -t ext4 --bind $SOURCE/usr/lib/gio /usr/lib/gio
6074

75+
#launch rpcbind to create channel between framework and webkit
76+
ext=`pidof rpcbind`
77+
if [ ! $ext ]; then
78+
echo "Launching rpcbind ..."
79+
rpcbind
80+
else
81+
echo "rpcbind is already launched..."
82+
fi
83+
6184
cd /usr/bin/netflix
6285
LD_PRELOAD=$SOURCE/lib/libstdc\+\+.so.6.0.21 WPEFramework -c $SOURCE/etc/WPEFramework/config.json
6386
;;

configs/acn2952_wpe_yt_defconfig

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,43 +23,46 @@ BR2_PACKAGE_GST1_BCM=y
2323
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
2424
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y
2525
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y
26+
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
2627
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y
2728
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y
2829
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y
2930
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y
3031
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y
3132
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y
3233
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y
34+
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y
3335
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC=y
3436
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y
3537
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
3638
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH=y
3739
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD=y
3840
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y
41+
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
3942
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTHSTREAMING=y
4043
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
4144
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123=y
4245
BR2_PACKAGE_NINJA=y
46+
BR2_PACKAGE_OPENCDM=y
4347
BR2_PACKAGE_BITSTREAM_VERA=y
4448
BR2_PACKAGE_ACN_SDK=y
4549
BR2_PACKAGE_OPENSSL=y
4650
BR2_PACKAGE_JPEG_TURBO=y
4751
BR2_PACKAGE_LIBMNG=y
4852
BR2_PACKAGE_WEBP=y
4953
BR2_PACKAGE_WPEFRAMEWORK=y
50-
BR2_PACKAGE_WPEFRAMEWORK_PORT="8082"
54+
BR2_PACKAGE_WPEFRAMEWORK_PORT="8081"
5155
BR2_PACKAGE_WPEFRAMEWORK_PERSISTENT_PATH="/hdd/metrological/persistent"
5256
BR2_PACKAGE_WPEFRAMEWORK_DATA_PATH="/hdd/metrological/usr/share/WPEFramework"
5357
BR2_PACKAGE_WPEFRAMEWORK_SYSTEM_PATH="/hdd/metrological/usr/lib/wpeframework/plugins"
5458
BR2_PACKAGE_WPEFRAMEWORK_PROXYSTUB_PATH="/hdd/metrological/usr/lib/wpeframework/proxystubs"
5559
BR2_PACKAGE_WPEFRAMEWORK_VIRTUALINPUT=y
5660
BR2_PACKAGE_WPEFRAMEWORK_DEVICEINFO=y
5761
BR2_PACKAGE_WPEFRAMEWORK_LOCATIONSYNC=y
58-
BR2_PACKAGE_WPEFRAMEWORK_LOCATIONSYNC_URI="http://ip-api/json"
5962
BR2_PACKAGE_WPEFRAMEWORK_MONITOR=y
60-
BR2_PACKAGE_WPEFRAMEWORK_TIMESYNC=y
6163
BR2_PACKAGE_WPEFRAMEWORK_REMOTECONTROL=y
6264
BR2_PACKAGE_WPEFRAMEWORK_SNAPSHOT=y
65+
BR2_PACKAGE_WPEFRAMEWORK_TIMESYNC=y
6366
BR2_PACKAGE_WPEFRAMEWORK_TRACECONTROL=y
6467
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER=y
6568
BR2_PACKAGE_WPEFRAMEWORK_WEBKITBROWSER_STARTURL="https://www.youtube.com/tv"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
diff --git a/src/browser/wpe/test/ocdm_client.cpp b/src/browser/wpe/test/ocdm_client.cpp
2+
index 32033d6..bb4f5fd 100644
3+
--- a/src/browser/wpe/test/ocdm_client.cpp
4+
+++ b/src/browser/wpe/test/ocdm_client.cpp
5+
@@ -151,7 +151,11 @@ int main()
6+
unsigned char* puc_lic_response = (unsigned char*)lic_response.c_str();
7+
int cb_lic_response = lic_response.length();
8+
9+
- const char test_challenge[3096] = {0xde, 0xad, 0xf0, 0x01};
10+
+ char test_challenge[3096];
11+
+ test_challenge[0] = 0xde;
12+
+ test_challenge[1] = 0xad;
13+
+ test_challenge[2] = 0xf0;
14+
+ test_challenge[3] = 0x01;
15+
int challenge_len = 0;
16+
unsigned char test_url[100];
17+
int url_length = 0;

package/opencdm/opencdm.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# cdm
44
#
55
################################################################################
6-
OPENCDM_VERSION = f223f5dd751528fb7e40ac56f3b6aa99eaf04361
6+
OPENCDM_VERSION = 3d7696803bdafc82010c6619f07b22eb5fded99e
77
OPENCDM_SITE_METHOD = git
88
OPENCDM_SITE = https://github.com/WebPlatformForEmbedded/WPEOpenCDM.git
99

package/wpe/wpeframework-plugins/Config.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ menuconfig BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI
110110

111111
if BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI
112112

113+
config BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI_OOP
114+
bool "outofprocess"
115+
default n
116+
113117
config BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI_CLEARKEY
114118
bool "clearkey"
115119
default y

package/wpe/wpeframework-plugins/wpeframework-plugins.mk

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

7-
WPEFRAMEWORK_PLUGINS_VERSION = 897553f1c11bde38094dff3774844f2f29d3bcb2
7+
WPEFRAMEWORK_PLUGINS_VERSION = 14a3a81086652431812ebf8ccbcfddcc0b7af8cb
88
WPEFRAMEWORK_PLUGINS_SITE_METHOD = git
99
WPEFRAMEWORK_PLUGINS_SITE = [email protected]:WebPlatformForEmbedded/WPEFrameworkPlugins.git
1010
WPEFRAMEWORK_PLUGINS_INSTALL_STAGING = YES
@@ -54,7 +54,11 @@ endif
5454
ifeq ($(BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI),y)
5555
WPEFRAMEWORK_PLUGINS_CONF_OPTS += -DWPEFRAMEWORK_PLUGIN_OPENCDMI=ON
5656
WPEFRAMEWORK_PLUGINS_CONF_OPTS += -DWPEFRAMEWORK_PLUGIN_OPENCDMI_AUTOSTART=true
57+
ifeq (${BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI_OOP},y)
5758
WPEFRAMEWORK_PLUGINS_CONF_OPTS += -DWPEFRAMEWORK_PLUGIN_OPENCDMI_OOP=true
59+
else
60+
WPEFRAMEWORK_PLUGINS_CONF_OPTS += -DWPEFRAMEWORK_PLUGIN_OPENCDMI_OOP=false
61+
endif
5862
WPEFRAMEWORK_PLUGINS_DEPENDENCIES += rpcbind
5963
ifeq ($(BR2_PACKAGE_WPEFRAMEWORK_OPENCDMI_CLEARKEY),y)
6064
WPEFRAMEWORK_PLUGINS_CONF_OPTS += -DPLUGIN_OPENCDMI_CLEARKEY=ON

package/wpe/wpeframework/wpeframework.mk

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

7-
WPEFRAMEWORK_VERSION = 430d766801b6657b5a952eb188fd96e3233770e0
7+
WPEFRAMEWORK_VERSION = 8401330a8475ce830825eeff6ee19727b1b0758c
88
WPEFRAMEWORK_SITE_METHOD = git
99
WPEFRAMEWORK_SITE = [email protected]:WebPlatformForEmbedded/WPEFramework.git
1010
WPEFRAMEWORK_INSTALL_STAGING = YES

package/wpe/wpewebkit/0001-Reduce-stack-limits.patch

Lines changed: 0 additions & 33 deletions
This file was deleted.

package/wpe/wpewebkit/0001-Reduce-the-default-thread-stack-size-to-32KB.patch

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)