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

Carlos Rafael Giani dv at pseudoterminal.org
Fri Jan 30 03:21:22 PST 2015


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.GPL;md5=d32239bcb673463ab874e80d47fae504 \
>
> file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
>
> 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 ;)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20150130/80ae7b24/attachment-0001.html>


More information about the meta-freescale mailing list