To build Netflix with Rialto, OCDM setting has to be enabled in netflix bitbake:
diff --git a/recipes-extended/netflix/netflix_5.1.bb b/recipes-extended/netflix/netflix_5.1.bb
index d56fee8..402127f 100644
--- a/recipes-extended/netflix/netflix_5.1.bb
+++ b/recipes-extended/netflix/netflix_5.1.bb
@@ -42,12 +42,12 @@ SRCREV_netflix = "${AUTOREV}"
S = "${WORKDIR}/git/netflix"
BBCLASSEXTEND = "native"
-DEPENDS += " gstreamer1.0 python-native freetype icu jpeg libpng libmng libwebp harfbuzz libnl nghttp2 expat openssl c-ares curl curl-netflix graphite2 util-linux glib-2.0 iarmmgrs cjson tremor libogg systemd nodejs-native wayland essos pxcore-libnode"
+DEPENDS += " gstreamer1.0 python-native freetype icu jpeg libpng libmng libwebp harfbuzz libnl nghttp2 expat openssl c-ares curl curl-netflix graphite2 util-linux glib-2.0 iarmmgrs cjson tremor libogg systemd nodejs-native wayland essos pxcore-libnode rialto rialto-ocdm"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'enable_icrypto_mgk', 'wpeframework-clientlibraries', '', d)}"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'rdk_svp', 'gst-svp-ext', '', d)}"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'netflix_drm_PR4', 'playready-cdm-rdk', 'playready', d)}"
-RDEPENDS_${PN} += "devicesettings"
+RDEPENDS_${PN} += "devicesettings rialto rialto-ocdm"
RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'rdk_svp', 'gst-svp-ext', '', d)}"
### Downloadable Application Package
@@ -87,7 +87,7 @@ EXTRA_OECMAKE_append_dunfell = "${@bb.utils.contains('DISTRO_FEATURES', 'ssl-1.1
#Configure the DRM connected to the Netflix app
PR4_DRM = "${@bb.utils.contains('DISTRO_FEATURES', 'netflix_drm_PR4', 1, 0, d)}"
PR_DRM = "${@ "rdkplayready4" if ${PR4_DRM} else "playready" }"
-OCDM = "${@bb.utils.contains('DISTRO_FEATURES', 'netflix_drm_ocdm', 1, 0, d)}"
+OCDM = "1"
NETFLIX_DRM = "${@ "ocdm" if ${OCDM} else "${PR_DRM}" }"
DEPENDS += "${@ " wpeframework rdkservices rdkservices-comcast" if ${OCDM} else "" }"
@@ -344,6 +344,8 @@ EXTRA_OECMAKE += " \
-DNRDP_HAS_PARTNER_INTEGRATION_SET_COOKIE=1 \
-DUSE_GST_PLAYBIN=${ENABLE_NETFLIX_PLUGIN} \
-DENABLE_GENERIC_PORT=${ENABLE_NETFLIX_PLUGIN} \
+ -DUSE_AUDIOMIXER_GST=1 \
+ -DUSE_RIALTO_AUDIO_SINK=1 \
-DCURL_LIB="${STAGING_LIBDIR}/netflix/libcurl.a" \
-DUSE_CURL_NETFLIX=1" |
When netflix is built, couple of files have to be modified to disable westeros sink and to use rialto-ocdm instead of real ocdm:
diff --git a/partner/dpi/gstreamer/PlaybackGroupNativeGenericPort.cpp b/partner/dpi/gstreamer/PlaybackGroupNativeGenericPort.cpp
index 0e18186f..6d87f825 100644
--- a/partner/dpi/gstreamer/PlaybackGroupNativeGenericPort.cpp
+++ b/partner/dpi/gstreamer/PlaybackGroupNativeGenericPort.cpp
@@ -175,7 +175,7 @@ PlaybackGroupNativeGenericPort::PlaybackGroupNativeGenericPort(ESManagerNative&
g_object_set(mGstPipeline, "audio-filter", capsfilter, NULL);
}
- GstElement* videoSinkGst = createWesterosSink();
+ // GstElement* videoSinkGst = createWesterosSink();
#if defined(GST_GL)
mVideoSinkGst.reset(new VideoSinkGStreamer());
@@ -1354,7 +1354,7 @@ void PlaybackGroupNativeGenericPort::updateVideoRectangle(bool force)
GstElement* videoSink = GstUtilities::findElement(mGstPipeline, VIDEO_SINK_NAME);
if (!videoSink)
{
- Log::error (TRACE_MEDIAPLAYBACK, "vSink not present");
+ // Log::error (TRACE_MEDIAPLAYBACK, "vSink not present");
return;
}
diff --git a/partner/dpi/gstreamer/drm.cmake b/partner/dpi/gstreamer/drm.cmake
index 543c7a84..b6b497c1 100644
--- a/partner/dpi/gstreamer/drm.cmake
+++ b/partner/dpi/gstreamer/drm.cmake
@@ -293,7 +293,7 @@ elseif(DPI_DRM STREQUAL "ocdm")
add_definitions( -DSEC_BCOM_ENABLE_RAAGA )
add_definitions( -DSEC_TARGET_PACEXI3 )
add_definitions( -DSEC_PLATFORM_BCOM -DSEC_BCOM_INIT_NXCLIENT -DSEC_BCOM_ENABLE_SECURERSA -DSEC_BCOM_ENABLE_ADOBEBIN -DSEC_BCOM_ENABLE_HWHMAC -DSEC_BCOM_ENABLE_HWDIGEST -DSEC_BCOM_ENABLE_MKR -DUSE_NXCLIENT -fPIC)
- target_link_libraries(nrddpi ocdm sec_api)
+ target_link_libraries(nrddpi ocdmRialto sec_api)
elseif(DEFINED SECAPI_ENGINE_BROADCOM_SAGE)
# Broadcom SAGE
add_definitions( -DUSE_SECAPI_BRCMHW=1 )
@@ -304,21 +304,21 @@ elseif(DPI_DRM STREQUAL "ocdm")
if (DEFINED SAGE_SVP)
add_definitions (-DUSE_SAGE_SVP)
endif()
- target_link_libraries(nrddpi ocdm sec_api)
+ target_link_libraries(nrddpi ocdmRialto sec_api)
elseif(DEFINED SECAPI_ENGINE_REALTEK)
add_definitions( -DUSE_SECAPI_HW=1 )
- target_link_libraries(nrddpi ocdm sec_api)
+ target_link_libraries(nrddpi ocdmRialto sec_api)
elseif(DEFINED SECAPI_ENGINE_AMLOGIC)
add_definitions( -DUSE_SECAPI_HW=1 )
- target_link_libraries(nrddpi playready ocdm sec_api)
+ target_link_libraries(nrddpi playready ocdmRialto sec_api)
elseif(DEFINED SECAPI_ENGINE_CRYPTANIUM)
# Cryptanium
add_definitions( -DUSE_SECAPI_CRYPTANIUM=1 )
- target_link_libraries(nrddpi ocdm sec_api_crypto)
+ target_link_libraries(nrddpi ocdmRialto sec_api_crypto)
else()
# OpenSSL
add_definitions( -DUSE_SECAPI_OPENSSL=1 )
- target_link_libraries(nrddpi ocdm sec_api yajl)
+ target_link_libraries(nrddpi ocdmRialto sec_api yajl)
endif(DEFINED SECAPI_ENGINE_BROADCOM_RAAGA)
add_definitions( -DOCDM ) |
After modifications of those files, bitbake -C configure netflix has to be executed.