[meta-freescale] qt5 qtmultimedia gstreamer1.0 on i.mx6 with Dizzy branch

Mario Rodriguez mario.rodriguez at go-huml.com
Fri Jan 30 04:35:21 PST 2015


Thanks for the answer Carlos.

At the end what I did was to remove the
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010 "
On my local.conf file.
Qtmultimedia now compiled without problems. (I still have to see if it works)
I think the problem on the original qtmultimedia.inc dizzy recipe is that if I configure to use gstreamer 0.1 then the recipe still patches qtmultimedia with a 1.0 gstreamer patch.
SRC_URI += "\
    file://0001-Initial-porting-effort-to-GStreamer-1.0.patch<file:///\\0001-Initial-porting-effort-to-GStreamer-1.0.patch> \
    file://0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch<file:///\\0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch> \
"
Regards,
Mario


Von: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] Im Auftrag von Carlos Rafael Giani
Gesendet: Freitag, 30. Januar 2015 12:21
An: meta-freescale at yoctoproject.org
Betreff: Re: [meta-freescale] qt5 qtmultimedia gstreamer1.0 on i.mx6 with Dizzy branch

On 01/30/2015 12:06 PM, Mario Rodriguez wrote:
Hello everyone,

I recently got the dizzy branch and tried to do an image (fs-image-multimedia-full). I added the qt5-meta layer. What I saw was the following error while compiling qtmultimedia:
| /opt/yocto-freescale/mx6sabrelite/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtmultimedia/5.3.2-r0/qtmultimedia-opensource-src-5.3.2/src/gsttools/gstvideoconnector.c:467:32: error: 'GST_PAD_PROBE_DROP' undeclared (first use in this function)
|      return element->relinked ? GST_PAD_PROBE_DROP : GST_PAD_PROBE_OK;
|                                 ^
| /opt/yocto-freescale/mx6sabrelite/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtmultimedia/5.3.2-r0/qtmultimedia-opensource-src-5.3.2/src/gsttools/gstvideoconnector.c:467:32: note: each undeclared identifier is reported only once for each function it appears in
| /opt/yocto-freescale/mx6sabrelite/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtmultimedia/5.3.2-r0/qtmultimedia-opensource-src-5.3.2/src/gsttools/gstvideoconnector.c:467:53: error: 'GST_PAD_PROBE_OK' undeclared (first use in this function)
|      return element->relinked ? GST_PAD_PROBE_DROP : GST_PAD_PROBE_OK;
|                                                      ^
| /opt/yocto-freescale/mx6sabrelite/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtmultimedia/5.3.2-r0/qtmultimedia-opensource-src-5.3.2/src/gsttools/gstvideoconnector.c: In function 'gst_video_connector_handle_sink_event':
| /opt/yocto-freescale/mx6sabrelite/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtmultimedia/5.3.2-r0/qtmultimedia-opensource-src-5.3.2/src/gsttools/gstvideoconnector.c:623:11: error: 'parent' undeclared (first use in this function)
|      (void)parent;

I looks like the qtmultimedia tries to use gstreamer1.0 but it shouldn't
I have on my local.conf file
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010 "
What I did in the end was following the instructions on this page:
https://community.freescale.com/docs/DOC-101118
-----------------------------------------------------QUOTE--------------------------------------------------------------------

Alma Oct 1, 2014 1:34 PM<https://community.freescale.com/docs/DOC-101118#comment-14041> (in response to Ramakanth<https://community.freescale.com/docs/DOC-101118#comment-13965>)

Adding gstreamer1.0 support break qtmultimedia recipe. If you don't use gstreamer1.0 you must replace your meta-qt5/recipes-qt/qt5/qtmultimedia.inc by this code (and rebuild)



require qt5.inc



DEPENDS += "qtdeclarative alsa-lib"



PACKAGECONFIG ??= ""

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

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



do_configure_prepend() {

# disable openal test if it isn't enabled by PACKAGECONFIG

sed -i 's/^qtCompileTest(openal)/OE_OPENAL_ENABLED:qtCompileTest(openal)/g' ${S}/qtmultimedia.pro

# disable gstreamer-0.10 test if it isn't enabled by PACKAGECONFIG

sed -i 's/^\( *\)qtCompileTest(gstreamer) {/\1OE_GSTREAMER010_ENABLED:qtCompileTest(gstreamer) {/g' ${S}/qtmultimedia.pro

}



EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'openal', 'CONFIG+=OE_OPENAL_ENABLED', '', d)}"

EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'gstreamer010', 'CONFIG+=OE_GSTREAMER010_ENABLED', '', d)}"



# older copyright year than what e.g. qtbase is using now

LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de<file:///\\LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de> \

                    file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504<file:///\\LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504> \

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

                    file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e<file:///\\LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e>"
--------------------------------------------------------END QUOTE------------------------------------------------------------
Is that "the right" thing to do? Or this will cause me some problems later?

Regards,
Mario

Better don't. The current .inc file looks quite different. You might inadvertently replace new code with old one if you do this.

I'd rather try to copy & paste the do_configure_prepend() block into the existing qtmultimedia.inc (unless that block makes no sense anymore). Also, "gstreamer1.0" should be added to the DEPENDS list unless GStreamer 0.10 is built. So, perhaps the gstreamer010 packageconfig line line should be replaced by this:

DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer010', 'gstreamer gst-plugins-base', 'gstreamer1.0 gstreamer1.0-plugins-base', d)}

Also, note that I use bb.utils.contains instead of base_contains. The latter is preferred, and keeps Otavio happy ;)
________________________________

Mario Rodriguez M.Sc., Software Architect
Phone: +49 89 45 23 47 - 297


jambit GmbH
Erika-Mann-Str. 63, 80636 M?nchen
Phone: +49 89 45 23 47 - 0, Fax: +49 89 45 23 47 - 70

http://www.jambit.com where innovation works

Gesch?ftsf?hrer: Peter F. Fellinger, Markus Hartinger
Sitz: M?nchen; Registergericht: M?nchen, HRB 129139
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20150130/71bf3f6d/attachment-0001.html>


More information about the meta-freescale mailing list