AnsweredAssumed Answered

iMXQ-SDB - Add QtMultimedia to fsl-image-multimedia-full

Question asked by Daniel Oliveira on May 2, 2016
Latest reply on May 3, 2016 by Daniel Oliveira

Hi guys

 

We are trying to add QtMultimedia libraries to the fsl-image-multimedia-full, but we are getting an error when running the QT application (./qtappl -platform eglfs):

 

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

 

The branch that we are using is dizzy, but we already tried with jethro too. Our local.conf looks like this:

 

************************************************************

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'poky'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

    STOPTASKS,${TMPDIR},1G,100K \

    STOPTASKS,${DL_DIR},1G,100K \

    STOPTASKS,${SSTATE_DIR},1G,100K \

    ABORT,${TMPDIR},100M,1K \

    ABORT,${DL_DIR},100M,1K \

    ABORT,${SSTATE_DIR},100M,1K"

PACKAGECONFIG_append_pn-qemu-native = " sdl"

PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"

ASSUME_PROVIDED += "libsdl-native"

CONF_VERSION = "1"

 

BB_NUMBER_THREADS = '4'

PARALLEL_MAKE = '-j 4'

 

DL_DIR ?= "${BSPDIR}/downloads/"

ACCEPT_FSL_EULA = ""

 

EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh "

 

DISTRO_FEATURES_remove = "x11 wayland"

 

PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer"

 

IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev \

autoconf automake ccache chkconfig glib-networking glibmm \

packagegroup-core-buildessential pkgconfig  \

boost cmake zlib glib-2.0 packagegroup-fsl-tools-testapps  \

    ruby \

    cpufrequtils \

    nano \

    gdb \

    gstreamer \

    gst-meta-video \

    gst-fsl-plugin \

    gst-plugins-base-app \

    gst-plugins-base \

    gst-plugins-good \

    gst-plugins-good-rtsp \

    gst-plugins-good-udp \

    gst-plugins-good-rtpmanager \

    gst-plugins-good-rtp \

    gst-plugins-good-video4linux2 \

    openssh-sftp-server \

    packagegroup-fsl-gstreamer \

    packagegroup-fsl-tools-testapps \

    packagegroup-fsl-tools-benchmark \

    imx-vpu \

    imx-test \   

    qtbase-fonts \

    qtbase-plugins \

    qtbase-tools \

    qtbase-examples \

    qtdeclarative \

    qtdeclarative-plugins \

    qtdeclarative-tools \

    qtdeclarative-examples \

    qtdeclarative-qmlplugins \

    qtmultimedia \

    qtmultimedia-plugins \

    qtmultimedia-examples \

    qtmultimedia-qmlplugins \

    qtsvg \

    qtsvg-plugins \

    qtsensors \

    qtimageformats-plugins \

    qtsystems \

    qtsystems-tools \

    qtsystems-examples \

    qtsystems-qmlplugins \

    qtscript \

    qt3d \

    qt3d-examples \

    qt3d-qmlplugins \

    qt3d-tools \

    qtwebkit \

    qtwebkit-examples-examples \

    qtwebkit-qmlplugins \

    qtgraphicaleffects-qmlplugins \

    qtconnectivity-qmlplugins \

    qtlocation-plugins \

    qtlocation-qmlplugins \

    cinematicexperience \

    cairo pango fontconfig freetype pulseaudio dbus \

    alsa-lib alsa-tools alsa-state alsa-utils-alsaconf fsl-alsa-plugins \

    i2c-tools \

    "

************************************************************

 

Besides of that we changed the qtmultimedia_git.bb recipe, and now it looks like this:

 

************************************************************

require qt5.inc

require qt5-git.inc

 

# There are no LGPLv3-only licensed files in this component.

LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & Digia-Qt-LGPL-Exception-1.1 | LGPL-3.0)"

LIC_FILES_CHKSUM = " \

    file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \

    file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \

    file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \

    file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \

"

 

DEPENDS += "qtdeclarative"

 

PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \

    ${@bb.utils.contains('DISTRO_FEATURES', 'gstreamer', 'gstreamer', '', d)} \

                   ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"

 

PACKAGECONFIG[alsa] = ",,alsa-lib"

PACKAGECONFIG[pulseaudio] = ",,pulseaudio"

PACKAGECONFIG[openal] = ",,openal-soft"

PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"

PACKAGECONFIG[gstreamer010] = ",,gstreamer gst-plugins-base gst-plugins-bad"

 

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'alsa', '', 'CONFIG+=done_config_alsa', d)}"

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', '', 'CONFIG+=done_config_pulseaudio', d)}"

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'openal', '', 'CONFIG+=done_config_openal', d)}"

 

# Handles GStreamer support

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer', 'GST_VERSION=1.0', '', d)}"

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer010', 'GST_VERSION=0.10', '', d)}"

# Disable GStreamer if completely disabled

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', 'CONFIG+=done_config_gstreamer', d)}"

 

SRC_URI += "\

    file://0001-Initial-porting-effort-to-GStreamer-1.0.patch \

"

 

#SRCREV = "cc0569a038f6116df559508518b6dacb15be8520"

SRCREV = "2170a3b0fcda613daf76a337fa45cb97e0714cdf"

************************************************************

Outcomes