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"
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
}
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"
Rialto can be built using following commands:
bitbake rialto rialto-gstreamer rialto-ocdm