Requirements

Recipes

Note in newer branches/commits the rialto recipes are now included by default, they can be found:

meta-rdk-video/recipes-extended/rialto/


Rialto recipes are required to build Rialto project using Yocto. Three recipes are needed - rialto, rialto-gstreamer and rialto-ocdm:

SUMMARY = "Rialto"
LICENSE = "CLOSED"
SRC_URI += "git://git@github.com/rdkcentral/rialto.git;protocol=ssh;branch=master"

SRCREV = "${AUTOREV}"
PACKAGES =+ "${PN}-client ${PN}-server ${PN}-servermanager" DEPENDS = "openssl jsoncpp glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base wpeframework-clientlibraries protobuf protobuf-native mongoose rdk-gstreamer-utils"
RDEPENDS_${PN} += "protobuf mongoose"
RDEPENDS_rialto-servermanager += "mongoose"
RDEPENDS_rialto-server += " rdk-gstreamer-utils"
S = "${WORKDIR}/git"
inherit cmake
FILES_SOLIBSDEV = ""
FILES_${PN}-client += "${libdir}/libRialtoClient.so"
FILES_${PN}-server += "${bindir}/RialtoServer"
FILES_${PN}-server += "${libdir}/libRialtoServerMain.so"
FILES_${PN}-servermanager += "${bindir}/RialtoServerManagerSim"
FILES_${PN}-servermanager += "${libdir}/libRialtoServerManager.so"
SUMMARY = "Rialto-gstreamer"
LICENSE = "CLOSED"
SRC_URI += "git://git@github.com/rdkcentral/rialto-gstreamer.git;protocol=ssh;branch=master"
SRCREV = "${AUTOREV}"

DEPENDS = "rialto gstreamer1.0 gstreamer1.0-plugins-base rialto-ocdm"

S = "${WORKDIR}/git"
inherit cmake
FILES_SOLIBSDEV = ""

FILES_${PN} += "${libdir}/gstreamer-1.0/libgstrialtosinks.so"

SUMMARY = "Rialto-ocdm"
LICENSE = "CLOSED"
SRC_URI += "git://git@github.com/rdkcentral/rialto-ocdm.git;protocol=ssh;branch=master"
SRCREV = "${AUTOREV}"

DEPENDS = "openssl jsoncpp glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base wpeframework-clientlibraries rialto"

S = "${WORKDIR}/git"
inherit cmake
FILES_SOLIBSDEV = ""

FILES_${PN} += "${PKG_CONFIG_DIR}/*.pc"
FILES_${PN} += "${libdir}/libocdmRialto.so"

New components have to be added to packagegroups/packagegroup-rdk-media-common.bbappend:

                                                  [old components here] \
                                                  rialto-ocdm \
                                                  rialto-gstreamer \
                                                  rialto-client \
                                                  rialto-server \
                                                  rialto-servermanager"

Rdk Gstreamer Utils

In xione's yocto, there's a routine, which removes librdkgstreamerutils.so from the image, which causes RialtoServer to crash on initalisation.

Add the below patch in meta-rdk-sky:

diff --git a/recipes-core/images/comcast-mediaclient-%.bbappend b/recipes-core/images/comcast-mediaclient-%.bbappend
index 16dfa8a8..96be7b23 100644
--- a/recipes-core/images/comcast-mediaclient-%.bbappend
+++ b/recipes-core/images/comcast-mediaclient-%.bbappend
@@ -52,7 +52,6 @@ remove_netflix_files() {
     rm -rf ${IMAGE_ROOTFS}/lib/rdk/fixNetflixDobbyContainerPermissions.sh
     rm -rf ${IMAGE_ROOTFS}/usr/bin/sky-nrdplugin
     rm -rf ${IMAGE_ROOTFS}/usr/lib/libJavaScriptCore.so
-    rm -rf ${IMAGE_ROOTFS}/usr/lib/librdkgstreamerutils.so
     rm -rf ${IMAGE_ROOTFS}/usr/lib/libvorbisidec.so.1
     rm -rf ${IMAGE_ROOTFS}/usr/lib/libvorbisidec.so.1.0.3
 }

Protobuf 3.7.0

Rialto requires protobuf at least v. 3.7.0. On Morty, following lines have to be added to auto.conf file:

PREFERRED_VERSION_protobuf = "3.7.0"
PREFERRED_VERSION_protobuf-native = "3.7.0"

Building Rialto

Rialto can be built using following commands:

bitbake rialto rialto-gstreamer rialto-ocdm