summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2022-03-29 21:22:12 -0500
committerTom Hochstein <tom.hochstein@nxp.com>2022-04-04 16:57:41 -0500
commit01ad835b7d50a10c3e3cbfd9509fd32f8dbc293a (patch)
tree4d26237f5a0b52bba8485687f5c004a34d314459
parent782a476b459c37d1c406d0d82207250f70c29712 (diff)
downloadmeta-freescale-01ad835b7d50a10c3e3cbfd9509fd32f8dbc293a.tar.gz
gstreamer1.0-plugins-good: Upgrade 1.18.0.imx -> 1.18.5.imx
Also separate the base recipe copy from the overrides for ease of maintenance. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb)64
2 files changed, 105 insertions, 15 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
new file mode 100644
index 00000000..788d7520
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
@@ -0,0 +1,56 @@
1From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 31 Mar 2020 21:23:28 -0700
4Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h
5
6gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to
7prefer qt headers definitions for GLsync
8
9This helps in fixing build errors like below
10
11/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: error: conflicting declaration 'typedef struct __GLsync* GLsync'
12 24 | typedef struct __GLsync *GLsync;
13 | ^~~~~~
14In file included from /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84,
15 from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30:
16/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: note: previous declaration as 'typedef void* GLsync
17'
18 40 | typedef gpointer GLsync;
19 | ^~~~~~
20
21Upstream-Status: Pending
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 ext/qt/gstqsgtexture.cc | 2 +-
25 ext/qt/qtwindow.cc | 2 +-
26 2 files changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
29index a05d26e..4cc9fc6 100644
30--- a/ext/qt/gstqsgtexture.cc
31+++ b/ext/qt/gstqsgtexture.cc
32@@ -27,7 +27,7 @@
33
34 #include <gst/video/video.h>
35 #include <gst/gl/gl.h>
36-#include <gst/gl/gstglfuncs.h>
37+#include <ext/qt/gstqtgl.h>
38 #include "gstqsgtexture.h"
39
40 #define GST_CAT_DEFAULT gst_qsg_texture_debug
41diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
42index 9360c33..0dfd3f1 100644
43--- a/ext/qt/qtwindow.cc
44+++ b/ext/qt/qtwindow.cc
45@@ -25,7 +25,7 @@
46 #include <stdio.h>
47
48 #include <gst/video/video.h>
49-#include <gst/gl/gstglfuncs.h>
50+#include <ext/qt/gstqtgl.h>
51 #include "qtwindow.h"
52 #include "gstqsgtexture.h"
53 #include "gstqtglutility.h"
54--
552.28.0
56
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb
index de8552a0..de61be01 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb
@@ -1,16 +1,25 @@
1# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of
2# maintenance, the top section is a verbatim copy of an OE-core
3# recipe. The second section customizes the recipe for i.MX.
4
5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
7
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
2 9
3GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https;branch=master" 10DESCRIPTION = "'Good' GStreamer plugins"
4SRCBRANCH = "MM_04.06.01_2105_L5.10.y" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
12BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
5 13
6SRC_URI = " \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
7 ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ 15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
8" 16 file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
9SRCREV = "3160acd37304f67238b8ceae2a95ee4951f9c718" 17 file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
18 "
10 19
11DEFAULT_PREFERENCE = "-1" 20SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0"
12 21
13S = "${WORKDIR}/git" 22S = "${WORKDIR}/gst-plugins-good-${PV}"
14 23
15LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" 24LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
16LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 25LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
@@ -23,6 +32,7 @@ RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
23PACKAGECONFIG ??= " \ 32PACKAGECONFIG ??= " \
24 ${GSTREAMER_ORC} \ 33 ${GSTREAMER_ORC} \
25 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ 34 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
35 ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
26 bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ 36 bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
27" 37"
28 38
@@ -30,6 +40,9 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
30X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled" 40X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
31X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled" 41X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
32 42
43QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
44
45PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
33PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" 46PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
34PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" 47PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
35PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394" 48PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
@@ -44,20 +57,18 @@ PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
44PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" 57PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
45PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" 58PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
46PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" 59PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
60PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
47PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4" 61PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
48PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" 62PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
63PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
49PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" 64PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
50PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false,libdrm" 65PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
51PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx" 66PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
52PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" 67PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
53PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" 68PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
54 69
55# qt5 support is disabled, because it is not present in OE core, and requires more work than
56# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
57# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig
58# in a gstreamer1.0-plugins-good bbappend).
59
60EXTRA_OEMESON += " \ 70EXTRA_OEMESON += " \
71 -Ddoc=disabled \
61 -Daalib=disabled \ 72 -Daalib=disabled \
62 -Ddirectsound=disabled \ 73 -Ddirectsound=disabled \
63 -Ddv=disabled \ 74 -Ddv=disabled \
@@ -66,7 +77,6 @@ EXTRA_OEMESON += " \
66 -Doss4=disabled \ 77 -Doss4=disabled \
67 -Dosxaudio=disabled \ 78 -Dosxaudio=disabled \
68 -Dosxvideo=disabled \ 79 -Dosxvideo=disabled \
69 -Dqt5=disabled \
70 -Dshout2=disabled \ 80 -Dshout2=disabled \
71 -Dtwolame=disabled \ 81 -Dtwolame=disabled \
72 -Dwaveform=disabled \ 82 -Dwaveform=disabled \
@@ -74,4 +84,28 @@ EXTRA_OEMESON += " \
74 84
75FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" 85FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
76 86
87########### End of OE-core copy ###########
88
89########### i.MX overrides ################
90
91DEFAULT_PREFERENCE = "-1"
92
93# fb implementation of v4l2 uses libdrm
94DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
95DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
96
97SRC_URI:remove = " \
98 https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
99 file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
100 file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
101"
102GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
103SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
104SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
105SRCREV = "2438ae179ed4245fbeaa2ce36b1918ed7232d442"
106
107S = "${WORKDIR}/git"
108
77COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 109COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
110
111########### End of i.MX overrides #########