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:
| Code Block |
|---|
| language | text |
|---|
| title | rialto_git.bb |
|---|
|
SUMMARY = "Rialto"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=327e572d11c37963726ba0b02d30cf2c"
SRC_URI = "${CMF_GITHUB_ROOT}/rialto;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MASTER_BRANCH}"
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_${PN}-servermanager += "mongoose"
RDEPENDS_${PN}-server += " rdk-gstreamer-utils"
S = "${WORKDIR}/git"
inherit cmake coverity
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.*" |
| Code Block |
|---|
| language | text |
|---|
| title | rialto-gstreamer_git.bb |
|---|
|
SUMMARY = "Rialto-gstreamer"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=23c2a5e0106b99d75238986559bb5fc6"
SRC_URI = "${CMF_GITHUB_ROOT}/rialto-gstreamer;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MASTER_BRANCH}"
SRCREV = "${@bb.utils.contains('DISTRO_FEATURES', 'rialto_head', '${AUTOREV}', '05810ea971e01e87ada442a4233ed60d131cbd57', d)}"
DEPENDS = "openssl jsoncpp glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base wpeframework-clientlibraries protobuf protobuf-native rialto rialto-ocdm"
S = "${WORKDIR}/git"
inherit cmake coverity features_check
FILES_${PN} += "${libdir}/gstreamer-1.0/libgstrialtosinks.so"
|
| Code Block |
|---|
| language | text |
|---|
| title | rialto-ocdm_git.bb |
|---|
|
SUMMARY = "Rialto-ocdm"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1fa88b316b1ce25ab7d95ae4d854ec8f"
SRC_URI = "${CMF_GITHUB_ROOT}/rialto-ocdm;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MASTER_BRANCH}"
SRCREV = "${@bb.utils.contains('DISTRO_FEATURES', 'rialto_head', '${AUTOREV}', 'a21c2f4388fc0857a80f7d4ace36183f4d4a1fae', d)}"
DEPENDS = "openssl jsoncpp glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base wpeframework-clientlibraries protobuf protobuf-native rialto"
S = "${WORKDIR}/git"
inherit cmake coverity features_check
|
New components have to be added to packagegroups/packagegroup-rdk-media-common.bbappend:
| Code Block |
|---|
| language | text |
|---|
| title | 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:
| Code Block |
|---|
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:
| Code Block |
|---|
| language | text |
|---|
| title | auto.conf |
|---|
|
PREFERRED_VERSION_protobuf = "3.7.0"
PREFERRED_VERSION_protobuf-native = "3.7.0" |
Building Rialto
Rialto can be built using following commands:
| Code Block |
|---|
| language | bash |
|---|
| title | Building Rialto |
|---|
|
bitbake rialto rialto-gstreamer rialto-ocdm |