[Interest] QtMultimedia how to crosscompile with GStreamer
Denis Shienkov
denis.shienkov at gmail.com
Tue Nov 3 11:54:12 CET 2015
Hi all,
I have Ubuntu 14.04 i386 as host OS and I want to cross-compile Qt 5.5.1
for embedded ARM target.
I already have a cross-compiled Qt 5.5.1, but with incomplete QtMultimedia
module (without GStreamer 1.0).
The problem is that pkg-config utility does not resolved the installed
GStreamer parts.
I have the rootfs in which my Qt were installed (e.g. in
/home/builder/Projects/tegra/rootfs/opt).
Now, to build the QtMultimedia I use this script:
{code}
#!/bin/sh
TEGRA_SYSROOT=/home/builder/Projects/tegra/rootfs
export PKG_CONFIG_DIR=
export
PKG_CONFIG_LIBDIR=${TEGRA_SYSROOT}/usr/lib/pkgconfig:${TEGRA_SYSROOT}/usr/share/pkgconfig:${TEGRA_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=${TEGRA_SYSROOT}
TEGRA_QMAKE=/home/builder/Projects/tegra/rootfs/opt/qt-5.5/bin/qmake
${TEGRA_QMAKE} /home/builder/Projects/tests/qtmultimedia/qtmultimedia.pro
GST_VERSION=1.0
{code}
Also, I modified the qtmultimedia.pro with:
{code}
....
} else:!android {
contains(QT_CONFIG, alsa):qtCompileTest(alsa)
contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)
isEmpty(GST_VERSION) {
warning("*** NO GST_VERSION are set, try to take from QT_CONFIG")
contains(QT_CONFIG, gstreamer-0.10) {
GST_VERSION = 0.10
} else: contains(QT_CONFIG, gstreamer-1.0) {
GST_VERSION = 1.0
} else {
}
} else {
warning("*** GST_VERSION are set to" $$GST_VERSION)
}
cache(GST_VERSION, set)
!isEmpty(GST_VERSION) {
qtCompileTest(gstreamer)
qtCompileTest(gstreamer_photography)
qtCompileTest(gstreamer_encodingprofiles)
qtCompileTest(gstreamer_appsrc)
qtCompileTest(linux_v4l)
} else {
warning("*** NO GST_VERSION are set")
}
qtCompileTest(resourcepolicy)
qtCompileTest(gpu_vivante)
}
load(qt_parts)
!config_alsa:warning("*** NO ALSA")
!config_pulseaudio:warning("*** NO PULSE")
!config_gstreamer:warning("*** NO GSTREAMER")
!config_gstreamer_photography:warning("*** NO GSTREAMER PHOTO")
!config_gstreamer_encodingprofiles:warning("*** NO GSTREAMER ENCODING")
!config_gstreamer_gstreamer_appsrc:warning("*** NO GSTREAMER APP")
!config_linux_v4l:warning("*** NO V4L")
{code}
And after running this script I got following:
{quote}
builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
../qmake-script
Info: creating cache file
/home/builder/Projects/tests/build-qtmultimedia/.qmake.cache
Checking for openal... no
Checking for alsa... yes
Project WARNING: *** GST_VERSION are set to 1.0
Checking for gstreamer... no
Checking for gstreamer_photography... no
Checking for gstreamer_encodingprofiles... no
Checking for gstreamer_appsrc... no
Checking for linux_v4l... yes
Checking for resourcepolicy... no
Checking for gpu_vivante... no
Project WARNING: *** NO PULSE
Project WARNING: *** NO GSTREAMER
Project WARNING: *** NO GSTREAMER PHOTO
Project WARNING: *** NO GSTREAMER ENCODING
Project WARNING: *** NO GSTREAMER APP
builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
{quote}
Howewer, my rootfs all GStreamer's parts are present:
{code}
builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$ sudo find
/home/builder/Projects/tegra/rootfs/ -name '*.pc' | grep gstreamer
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-app-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-good-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-base-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-net-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-video-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-pbutils-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-allocators-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-base-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-tag-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-fft-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-check-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-audio-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtsp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-sdp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-riff-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-controller-1.0.pc
builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
{code}
What I am doing wrong?
BR,
Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20151103/2e695738/attachment.html>
More information about the Interest
mailing list