summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2022-04-04 20:23:10 -0300
committerGitHub <noreply@github.com>2022-04-04 20:23:10 -0300
commitb6514bbbe3c1643d55fb42241759cfe2e9dd0a35 (patch)
tree2d10b15b96f19b2529947992947fd6204eff9077
parent36589d57ee3fa9d3aac891f42c16d45622b00750 (diff)
parent1c6c0f6523c0a62c15ac973aa782e108a652a61e (diff)
downloadmeta-freescale-b6514bbbe3c1643d55fb42241759cfe2e9dd0a35.tar.gz
Merge pull request #1032 from thochstein/master
gstreamer: Upgrade 1.18.0.imx -> 1.18.5.imx
-rw-r--r--conf/machine/include/imx-base.inc15
-rw-r--r--recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch97
-rw-r--r--recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb185
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch35
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch26
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch58
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch)10
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch27
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch51
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch)10
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch)24
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch)18
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch31
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb)132
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch48
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend5
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb)64
-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
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb)9
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch18
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb)35
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb (renamed from recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb)14
31 files changed, 647 insertions, 590 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index e73e3270..d9c16811 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -390,13 +390,14 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin"
390MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin" 390MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin"
391MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin" 391MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin"
392 392
393PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ?= "1.18.0.imx" 393PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ?= "1.18.5.imx"
394PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ?= "1.18.0.imx" 394PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ?= "1.18.5.imx"
395PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ?= "1.18.0.imx" 395PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ?= "1.18.5.imx"
396PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ?= "1.18.0.imx" 396PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ?= "1.18.5.imx"
397PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ?= "1.18.0" 397PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ?= "1.18.5"
398PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ?= "1.18.0" 398PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ?= "1.18.5"
399PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ?= "1.18.0" 399PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ?= "1.18.5"
400PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ?= "4.4.1"
400 401
401# Determines if the SoC has support for Vivante kernel driver 402# Determines if the SoC has support for Vivante kernel driver
402SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" 403SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0"
diff --git a/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch b/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
new file mode 100644
index 00000000..2b4ca0e9
--- /dev/null
+++ b/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
@@ -0,0 +1,97 @@
1From 24a58d70cbb3997e471366bd5afe54be9007bfb1 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 10 Nov 2020 15:32:14 +0000
4Subject: [PATCH] libavutil: include assembly with full path from source root
5
6Otherwise nasm writes the full host-specific paths into .o
7output, which breaks binary reproducibility.
8
9Upstream-Status: Submitted [by email to jamrial@gmail.com,ffmpeg-devel@ffmpeg.org]
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 libavutil/x86/cpuid.asm | 2 +-
13 libavutil/x86/emms.asm | 2 +-
14 libavutil/x86/fixed_dsp.asm | 2 +-
15 libavutil/x86/float_dsp.asm | 2 +-
16 libavutil/x86/lls.asm | 2 +-
17 libavutil/x86/pixelutils.asm | 2 +-
18 6 files changed, 6 insertions(+), 6 deletions(-)
19
20diff --git a/libavutil/x86/cpuid.asm b/libavutil/x86/cpuid.asm
21index c3f7866..766f77f 100644
22--- a/libavutil/x86/cpuid.asm
23+++ b/libavutil/x86/cpuid.asm
24@@ -21,7 +21,7 @@
25 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
26 ;******************************************************************************
27
28-%include "x86util.asm"
29+%include "libavutil/x86/x86util.asm"
30
31 SECTION .text
32
33diff --git a/libavutil/x86/emms.asm b/libavutil/x86/emms.asm
34index 8611762..df84f22 100644
35--- a/libavutil/x86/emms.asm
36+++ b/libavutil/x86/emms.asm
37@@ -18,7 +18,7 @@
38 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
39 ;******************************************************************************
40
41-%include "x86util.asm"
42+%include "libavutil/x86/x86util.asm"
43
44 SECTION .text
45
46diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm
47index 979dd5c..2f41185 100644
48--- a/libavutil/x86/fixed_dsp.asm
49+++ b/libavutil/x86/fixed_dsp.asm
50@@ -20,7 +20,7 @@
51 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
52 ;******************************************************************************
53
54-%include "x86util.asm"
55+%include "libavutil/x86/x86util.asm"
56
57 SECTION .text
58
59diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
60index 517fd63..b773e61 100644
61--- a/libavutil/x86/float_dsp.asm
62+++ b/libavutil/x86/float_dsp.asm
63@@ -20,7 +20,7 @@
64 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
65 ;******************************************************************************
66
67-%include "x86util.asm"
68+%include "libavutil/x86/x86util.asm"
69
70 SECTION_RODATA 32
71 pd_reverse: dd 7, 6, 5, 4, 3, 2, 1, 0
72diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm
73index 317fba6..d2526d1 100644
74--- a/libavutil/x86/lls.asm
75+++ b/libavutil/x86/lls.asm
76@@ -20,7 +20,7 @@
77 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
78 ;******************************************************************************
79
80-%include "x86util.asm"
81+%include "libavutil/x86/x86util.asm"
82
83 SECTION .text
84
85diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
86index 36c57c5..8b45ead 100644
87--- a/libavutil/x86/pixelutils.asm
88+++ b/libavutil/x86/pixelutils.asm
89@@ -21,7 +21,7 @@
90 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
91 ;******************************************************************************
92
93-%include "x86util.asm"
94+%include "libavutil/x86/x86util.asm"
95
96 SECTION .text
97
diff --git a/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb b/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
new file mode 100644
index 00000000..5b1dedcd
--- /dev/null
+++ b/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
@@ -0,0 +1,185 @@
1SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
2DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
3 mux, demux, stream, filter and play pretty much anything that humans and machines \
4 have created. It supports the most obscure ancient formats up to the cutting edge."
5HOMEPAGE = "https://www.ffmpeg.org/"
6SECTION = "libs"
7
8LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
9LICENSE:${PN} = "GPL-2.0-or-later"
10LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
11LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
12LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
13LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
14LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
15LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
16LICENSE:libpostproc = "GPL-2.0-or-later"
17LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
18LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
19LICENSE_FLAGS = "commercial"
20
21LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
22 file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
23 file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
24 file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
25
26SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
27 file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
28 "
29SRC_URI[sha256sum] = "eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02"
30
31# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
32ARM_INSTRUCTION_SET:armv4 = "arm"
33ARM_INSTRUCTION_SET:armv5 = "arm"
34ARM_INSTRUCTION_SET:armv6 = "arm"
35
36# Should be API compatible with libav (which was a fork of ffmpeg)
37# libpostproc was previously packaged from a separate recipe
38PROVIDES = "libav libpostproc"
39
40DEPENDS = "nasm-native"
41
42inherit autotools pkgconfig
43
44PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
45 alsa bzlib lzma pic pthreads shared theora zlib \
46 ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
47 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
48
49# libraries to build in addition to avutil
50PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
51PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
52PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
53PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
54PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
55PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
56PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
57PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
58
59# features to support
60PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
61PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
62PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
63PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
64PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
65PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
66PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
67PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus"
68PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
69PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
70PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
71PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
72PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
73PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
74PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
75PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
76PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
77PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
78PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
79PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
80PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
81PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
82PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
83PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
84PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
85
86# other configuration options
87PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
88PACKAGECONFIG[pic] = "--enable-pic"
89PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
90PACKAGECONFIG[shared] = "--enable-shared"
91PACKAGECONFIG[strip] = ",--disable-stripping"
92
93# Check codecs that require --enable-nonfree
94USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
95
96def cpu(d):
97 for arg in (d.getVar('TUNE_CCARGS') or '').split():
98 if arg.startswith('-mcpu='):
99 return arg[6:]
100 return 'generic'
101
102EXTRA_OECONF = " \
103 ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
104 \
105 --cross-prefix=${TARGET_PREFIX} \
106 \
107 --ld='${CCLD}' \
108 --cc='${CC}' \
109 --cxx='${CXX}' \
110 --arch=${TARGET_ARCH} \
111 --target-os='linux' \
112 --enable-cross-compile \
113 --extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
114 --extra-ldflags='${LDFLAGS}' \
115 --sysroot='${STAGING_DIR_TARGET}' \
116 ${EXTRA_FFCONF} \
117 --libdir=${libdir} \
118 --shlibdir=${libdir} \
119 --datadir=${datadir}/ffmpeg \
120 --cpu=${@cpu(d)} \
121 --pkg-config=pkg-config \
122"
123
124EXTRA_OECONF:append:linux-gnux32 = " --disable-asm"
125
126EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
127EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
128EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
129EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
130EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
131 --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
132EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
133EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
134EXTRA_OECONF:append:powerpc = " --extra-libs=-latomic"
135
136# gold crashes on x86, another solution is to --disable-asm but thats more hacky
137# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
138
139LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
140
141EXTRA_OEMAKE = "V=1"
142
143do_configure() {
144 ${S}/configure ${EXTRA_OECONF}
145}
146
147# patch out build host paths for reproducibility
148do_compile:prepend:class-target() {
149 sed -i -e "s,${WORKDIR},,g" ${B}/config.h
150}
151
152PACKAGES =+ "libavcodec \
153 libavdevice \
154 libavfilter \
155 libavformat \
156 libavresample \
157 libavutil \
158 libpostproc \
159 libswresample \
160 libswscale"
161
162FILES:libavcodec = "${libdir}/libavcodec${SOLIBS}"
163FILES:libavdevice = "${libdir}/libavdevice${SOLIBS}"
164FILES:libavfilter = "${libdir}/libavfilter${SOLIBS}"
165FILES:libavformat = "${libdir}/libavformat${SOLIBS}"
166FILES:libavresample = "${libdir}/libavresample${SOLIBS}"
167FILES:libavutil = "${libdir}/libavutil${SOLIBS}"
168FILES:libpostproc = "${libdir}/libpostproc${SOLIBS}"
169FILES:libswresample = "${libdir}/libswresample${SOLIBS}"
170FILES:libswscale = "${libdir}/libswscale${SOLIBS}"
171
172# ffmpeg disables PIC on some platforms (e.g. x86-32)
173INSANE_SKIP:${MLPREFIX}libavcodec = "textrel"
174INSANE_SKIP:${MLPREFIX}libavdevice = "textrel"
175INSANE_SKIP:${MLPREFIX}libavfilter = "textrel"
176INSANE_SKIP:${MLPREFIX}libavformat = "textrel"
177INSANE_SKIP:${MLPREFIX}libavutil = "textrel"
178INSANE_SKIP:${MLPREFIX}libavresample = "textrel"
179INSANE_SKIP:${MLPREFIX}libswscale = "textrel"
180INSANE_SKIP:${MLPREFIX}libswresample = "textrel"
181INSANE_SKIP:${MLPREFIX}libpostproc = "textrel"
182
183# Downgrade for NXP BSP
184DEFAULT_PREFERENCE = "-1"
185COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
deleted file mode 100644
index 1d99ad12..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 54bba228ea52d01fd84941d97be23c03f9862b64 Mon Sep 17 00:00:00 2001
2From: Carlos Rafael Giani <dv@pseudoterminal.org>
3Date: Sat, 6 Apr 2013 01:22:22 +0200
4Subject: [PATCH] Disable yasm for libav when --disable-yasm
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Shane Wang <shane.wang@intel.com>
9Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
10---
11 configure.ac | 4 ++++
12 1 file changed, 4 insertions(+)
13
14diff --git a/configure.ac b/configure.ac
15index 22ede88..ef3c050 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -305,6 +305,12 @@ else
19 emblibav_configure_args="$emblibav_configure_args --enable-gpl"
20 fi
21
22+ AC_ARG_ENABLE(yasm,
23+ [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])])
24+ if test "x$enable_yasm" = "xno"; then
25+ emblibav_configure_args="$emblibav_configure_args --disable-yasm"
26+ fi
27+
28 # if we are cross-compiling, tell libav so
29 case $host in
30 *android*)
31--
321.8.2
33
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
deleted file mode 100644
index b80d0739..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From aac5902d3c9cb35c771e760d0e487622aa2e116a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 20 Apr 2017 10:38:18 -0700
4Subject: [PATCH] configure: check for armv7ve variant
5
6OE passes -mcpu and -march via cmdline and if
7package tries to detect one of it own then it
8should be compatible otherwise, newer gcc7+ will
9error out
10
11Check for relevant preprocessor macro to determine
12armv7ve architecture
13
14Upstream-Status: Pending
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 gst-libs/ext/libav/configure | 1 +
19 1 file changed, 1 insertion(+)
20
21diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure
22index 4a5e477..727818e 100755
23--- a/gst-libs/ext/libav/configure
24+++ b/gst-libs/ext/libav/configure
25@@ -4295,6 +4295,7 @@ elif enabled arm; then
26 elif check_arm_arch 6Z; then echo armv6z
27 elif check_arm_arch 6ZK; then echo armv6zk
28 elif check_arm_arch 6T2; then echo armv6t2
29+ elif check_arm_arch EXT_IDIV; then echo armv7ve
30 elif check_arm_arch 7; then echo armv7
31 elif check_arm_arch 7A 7_A; then echo armv7-a
32 elif check_arm_arch 7S; then echo armv7-a
33--
342.12.2
35
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
deleted file mode 100644
index 120c0798..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From c1700f867f876ee33c130a8e28b688e2b1d89663 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Wed, 11 Apr 2018 17:14:55 +0800
4Subject: [PATCH] Prevent host contamination
5
6Remove reference to host $(libdir) from .la files.
7
8Upstream-Status: Inappropriate [cross-compile specific]
9
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11---
12 gst-libs/ext/Makefile.am | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am
16index 6cdc048..a19d255 100644
17--- a/gst-libs/ext/Makefile.am
18+++ b/gst-libs/ext/Makefile.am
19@@ -49,7 +49,7 @@ echo " GEN $1.la" && \
20 echo "library_names=''" && \
21 echo "old_library='$1.a'" && \
22 echo "inherited_linker_flags=''" && \
23- echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
24+ echo "dependency_libs=' -L $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
25 echo "weak_library_names=''" && \
26 echo "current=" && \
27 echo "age=" && \
28@@ -58,7 +58,7 @@ echo " GEN $1.la" && \
29 echo "shouldnotlink=no" && \
30 echo "dlopen=''" && \
31 echo "dlpreopen=''" && \
32- echo "libdir='$(libdir)'") > $1.la
33+ echo "libdir=''") > $1.la
34 endef
35
36 libavutil.la:
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
deleted file mode 100644
index 7a0b4488..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1It will add -mips64r6 and -mips64r2 to cmdline which will
2cause conflicts
3
4in OE we user mips32r2 and mips64r2 for mips arch versions
5so there is no benefit of detecting it automatically by
6poking at tools especially in cross env
7
8Fixes errors like
9
10linking -mnan=2008 module with previous -mnan=legacy modules
11failed to merge target specific data of file
12
13-Khem
14Upstream-Status: Inappropriate [OE-Specific]
15
16Index: gst-libav-1.10.1/gst-libs/ext/libav/configure
17===================================================================
18--- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure
19+++ gst-libav-1.10.1/gst-libs/ext/libav/configure
20@@ -5269,12 +5269,9 @@ elif enabled mips; then
21
22 # Enable minimum ISA based on selected options
23 if enabled mips64; then
24- enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6'
25 enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2'
26 disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64'
27 else
28- enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6'
29- enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5'
30 enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2'
31 disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32'
32 fi
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
deleted file mode 100644
index 36abf860..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1Description: Workaround to build libav for i586 with gcc 4.9.2 by avoiding memset
2Author: Bernhard Übelacker <bernhardu@vr-web.de>
3
4---
5Bug-Debian: https://bugs.debian.org/783082
6Last-Update: 2015-04-28
7
8Upstream-Status: Backport [debian]
9
10Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
11
12--- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c
13+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c
14@@ -2020,7 +2020,11 @@ decode_intra_mb:
15 // In deblocking, the quantizer is 0
16 h->cur_pic.qscale_table[mb_xy] = 0;
17 // All coeffs are present
18- memset(h->non_zero_count[mb_xy], 16, 48);
19+ /*memset(h->non_zero_count[mb_xy], 16, 48);*/
20+ /* avoiding this memset because it leads at least with gcc4.9.2 to error: 'asm' operand has impossible constraints */
21+ for (size_t i = 0; i < 48; i++) {
22+ ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16;
23+ }
24 h->cur_pic.mb_type[mb_xy] = mb_type;
25 sl->last_qscale_diff = 0;
26 return 0;
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
index cbd59195..62005cc8 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
12 " 12 "
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
15SRC_URI[sha256sum] = "42f93f5ce9a3fc22051e5f783a4574b56ebf213f331f75dcbc3552459bd3a06a" 15SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548"
16 16
17S = "${WORKDIR}/gst-libav-${PV}" 17S = "${WORKDIR}/gst-libav-${PV}"
18 18
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
deleted file mode 100644
index 5e6a1c05..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From 9e092d8976db034a2d6848d738c4f73cc001fd09 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sun, 26 Jan 2020 10:45:28 +0000
4Subject: [PATCH] ext/wayland: fix meson build in nxp fork
5
6- Add Wayland protocols, which are not enabled in upstream
7- Add missing compilation unit, which in NXP-specific
8
9Upstream-Status: Pending
10
11Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
12
13---
14 ext/wayland/meson.build | 24 ++++++++++++++++++++++++
15 1 file changed, 24 insertions(+)
16
17diff --git a/ext/wayland/meson.build b/ext/wayland/meson.build
18index 3c377eefb..98a7cb76f 100644
19--- a/ext/wayland/meson.build
20+++ b/ext/wayland/meson.build
21@@ -10,6 +10,11 @@ wl_sources = [
22
23 libdrm_dep = dependency('libdrm', version: '>= 2.4.55', required:get_option('wayland'))
24
25+imx_wl_sources = [
26+ 'wlutils.c',
27+]
28+wl_sources += imx_wl_sources
29+
30 if use_wayland
31 protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir')
32
33@@ -21,6 +26,25 @@ if use_wayland
34 'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'],
35 ['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'],
36 ]
37+
38+ imx_protocol_defs = [
39+ [
40+ '/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml',
41+ 'alpha-compositing-unstable-v1-protocol.c',
42+ 'alpha-compositing-unstable-v1-client-protocol.h'
43+ ],
44+ ['/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml',
45+ 'hdr10-metadata-unstable-v1-protocol.c',
46+ 'hdr10-metadata-unstable-v1-client-protocol.h'
47+ ],
48+ [
49+ '/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml',
50+ 'linux-explicit-synchronization-unstable-v1-protocol.c',
51+ 'linux-explicit-synchronization-unstable-v1-client-protocol.h'
52+ ],
53+ ]
54+ protocol_defs += imx_protocol_defs
55+
56 protocols_files = []
57
58 foreach protodef: protocol_defs
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
index 7758300e..13a673cd 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
@@ -1,18 +1,17 @@
1From e7914eb0baa3530a5075c0d3db7936ccddd8e3fe Mon Sep 17 00:00:00 2001 1From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com> 2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 26 Jan 2016 15:16:01 -0800 3Date: Tue, 26 Jan 2016 15:16:01 -0800
4Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os 4Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
8Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 8Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
9
10--- 9---
11 gst-libs/gst/codecparsers/gstvc1parser.c | 2 +- 10 gst-libs/gst/codecparsers/gstvc1parser.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-) 11 1 file changed, 1 insertion(+), 1 deletion(-)
13 12
14diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c 13diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
15index ac579712d..1686f6081 100644 14index 2c60ced..e8226d8 100644
16--- a/gst-libs/gst/codecparsers/gstvc1parser.c 15--- a/gst-libs/gst/codecparsers/gstvc1parser.c
17+++ b/gst-libs/gst/codecparsers/gstvc1parser.c 16+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
18@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, 17@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
@@ -24,3 +23,6 @@ index ac579712d..1686f6081 100644
24 guint8 structA[8] = { 0, }; 23 guint8 structA[8] = { 0, };
25 guint8 structB[12] = { 0, }; 24 guint8 structB[12] = { 0, };
26 GstBitReader br; 25 GstBitReader br;
26--
272.28.0
28
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 4f9041dc..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 69cff1595f9e0014c582c6f540d69d86d5e824ff Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Fri, 18 Oct 2019 00:39:12 +0100
4Subject: [PATCH] meson: build gir even when cross-compiling if introspection
5 was enabled explicitly
6
7This can be made to work in certain circumstances when
8cross-compiling, so default to not building g-i stuff
9when cross-compiling, but allow it if introspection was
10enabled explicitly via -Dintrospection=enabled.
11
12See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
13
14Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19]
15
16Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
17
18---
19 meson.build | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/meson.build b/meson.build
23index 2b492faea..bea89b23d 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -405,7 +405,7 @@ python3 = import('python').find_installation()
27
28 gir = find_program('g-ir-scanner', required : get_option('introspection'))
29 gnome = import('gnome')
30-build_gir = gir.found() and not meson.is_cross_build()
31+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
32 gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
33 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
34 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch
deleted file mode 100644
index 525f4a45..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From a4df38174d33dc1e620ea535e16cac406ff59da2 Mon Sep 17 00:00:00 2001
2From: Nicola Murino <nicola.murino@gmail.com>
3Date: Fri, 31 Jul 2020 23:38:56 +0200
4Subject: [PATCH] opencv: allow compilation against 4.4.x
5
6Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1482>
7
8Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/8544f3928ea46d2da3f27dc65576e8baf42a46d]
9Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
10
11---
12 ext/opencv/meson.build | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
16index a26403482..b3270e540 100644
17--- a/ext/opencv/meson.build
18+++ b/ext/opencv/meson.build
19@@ -65,7 +65,7 @@ if opencv_found
20 endif
21 endforeach
22 else
23- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false)
24+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.5.0'], required : false)
25 opencv_found = opencv_dep.found()
26 if opencv_found
27 foreach h : libopencv4_headers
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
deleted file mode 100644
index 5b8e0159..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From 54c700f9721ef218188803b48acae46e885626ee Mon Sep 17 00:00:00 2001
2From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
3Date: Sat, 9 May 2020 19:59:46 +0200
4Subject: [PATCH] vulkan: Drop use of VK_RESULT_BEGIN_RANGE
5
6This was removed in Vulkan 1.2.140.
7
8> Shortly after 2020-04-24, we will be removing the automatically
9> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
10> tokens from the Vulkan headers. These tokens are currently defined for
11> some enumerated types, but are explicitly not part of the Vulkan API.
12> They existed only to support some Vulkan implementation internals,
13> which no longer require them. We will be accepting comments on this
14> topic in [#1230], but we strongly suggest any external projects using
15> these tokens immediately migrate away from them.
16
17[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
18
19Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1603>
20
21Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/17850d7e87af93c6bd181d7c25903478c2254fa6]
22Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
23---
24 ext/vulkan/vkerror.c | 4 +---
25 1 file changed, 1 insertion(+), 3 deletions(-)
26
27diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c
28index 3fec27e4d..c91589d9b 100644
29--- a/ext/vulkan/vkerror.c
30+++ b/ext/vulkan/vkerror.c
31@@ -27,7 +27,7 @@
32 #include "vkerror.h"
33
34 /* *INDENT-OFF* */
35-static const struct
36+static const struct
37 {
38 VkResult result;
39 const char *str;
40@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result)
41
42 if (result >= 0)
43 return NULL;
44- if (result < VK_RESULT_BEGIN_RANGE)
45- return "Unknown Error";
46
47 for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
48 if (result == vk_result_string_map[i].result)
49--
502.17.1
51
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
index da2dd8bf..ead6897f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
@@ -1,20 +1,19 @@
1From 05f9a7a9025cb1c6a5592ba998ab95d565f9c76f Mon Sep 17 00:00:00 2001 1From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com> 2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Wed, 3 Feb 2016 18:05:41 -0800 3Date: Wed, 3 Feb 2016 18:05:41 -0800
4Subject: [PATCH] avoid including <sys/poll.h> directly 4Subject: [PATCH 2/4] avoid including <sys/poll.h> directly
5 5
6musl libc generates warnings if <sys/poll.h> is included directly. 6musl libc generates warnings if <sys/poll.h> is included directly.
7 7
8Upstream-Status: Pending 8Upstream-Status: Pending
9 9
10Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 10Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
11
12--- 11---
13 sys/dvb/gstdvbsrc.c | 2 +- 12 sys/dvb/gstdvbsrc.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
15 14
16diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c 15diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
17index bd07369c3..ebfbe4947 100644 16index ca6b92a..b2772db 100644
18--- a/sys/dvb/gstdvbsrc.c 17--- a/sys/dvb/gstdvbsrc.c
19+++ b/sys/dvb/gstdvbsrc.c 18+++ b/sys/dvb/gstdvbsrc.c
20@@ -97,7 +97,7 @@ 19@@ -97,7 +97,7 @@
@@ -26,3 +25,6 @@ index bd07369c3..ebfbe4947 100644
26 #include <fcntl.h> 25 #include <fcntl.h>
27 #include <errno.h> 26 #include <errno.h>
28 #include <stdio.h> 27 #include <stdio.h>
28--
292.28.0
30
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
index c25a11e9..88fbc40d 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
@@ -1,7 +1,7 @@
1From f9a8b71897af39640894915a5f202d0027124f57 Mon Sep 17 00:00:00 2001 1From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com> 2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 9 Feb 2016 14:00:00 -0800 3Date: Tue, 9 Feb 2016 14:00:00 -0800
4Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc 4Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc
5 5
6For GStreamer functions declared with G_GNUC_NULL_TERMINATED, 6For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
7ie __attribute__((__sentinel__)), gcc will generate a warning if the 7ie __attribute__((__sentinel__)), gcc will generate a warning if the
@@ -17,7 +17,6 @@ without an explicit cast to a pointer type.
17Upstream-Status: Pending 17Upstream-Status: Pending
18 18
19Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 19Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
20
21--- 20---
22 sys/decklink/gstdecklink.cpp | 10 +++++----- 21 sys/decklink/gstdecklink.cpp | 10 +++++-----
23 sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- 22 sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
@@ -25,19 +24,19 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
25 3 files changed, 7 insertions(+), 7 deletions(-) 24 3 files changed, 7 insertions(+), 7 deletions(-)
26 25
27diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp 26diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
28index 464b0de9d..9fb7246d3 100644 27index 4dac7e1..43762ce 100644
29--- a/sys/decklink/gstdecklink.cpp 28--- a/sys/decklink/gstdecklink.cpp
30+++ b/sys/decklink/gstdecklink.cpp 29+++ b/sys/decklink/gstdecklink.cpp
31@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, 30@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
32 "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, 31 "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
33 "interlace-mode", G_TYPE_STRING, 32 "interlace-mode", G_TYPE_STRING,
34 mode->interlaced ? "interleaved" : "progressive", 33 mode->interlaced ? "interleaved" : "progressive",
35- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); 34- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
36+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); 35+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
37 36
38 if (input && mode->interlaced) { 37 return s;
39 if (mode->tff) 38 }
40@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, 39@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
41 case bmdFormat8BitYUV: /* '2vuy' */ 40 case bmdFormat8BitYUV: /* '2vuy' */
42 gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", 41 gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
43 "colorimetry", G_TYPE_STRING, mode->colorimetry, 42 "colorimetry", G_TYPE_STRING, mode->colorimetry,
@@ -59,7 +58,7 @@ index 464b0de9d..9fb7246d3 100644
59 case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ 58 case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
60 case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ 59 case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
61diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp 60diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
62index 2fef934c8..c47229abf 100644 61index 2fef934..c47229a 100644
63--- a/sys/decklink/gstdecklinkaudiosrc.cpp 62--- a/sys/decklink/gstdecklinkaudiosrc.cpp
64+++ b/sys/decklink/gstdecklinkaudiosrc.cpp 63+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
65@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) 64@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
@@ -72,10 +71,10 @@ index 2fef934c8..c47229abf 100644
72 71
73 switch (vconn) { 72 switch (vconn) {
74diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp 73diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
75index 7aea3f7a2..4864508bb 100644 74index e3a6775..f1a5aae 100644
76--- a/sys/decklink/gstdecklinkvideosink.cpp 75--- a/sys/decklink/gstdecklinkvideosink.cpp
77+++ b/sys/decklink/gstdecklinkvideosink.cpp 76+++ b/sys/decklink/gstdecklinkvideosink.cpp
78@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, 77@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
79 gpointer user_data) 78 gpointer user_data)
80 { 79 {
81 gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, 80 gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
@@ -84,3 +83,6 @@ index 7aea3f7a2..4864508bb 100644
84 83
85 return TRUE; 84 return TRUE;
86 } 85 }
86--
872.28.0
88
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
index dc3a8c69..b8167090 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -1,23 +1,22 @@
1From 387886b05f4ae0de9b7faf1f9ca66040d38d19ee Mon Sep 17 00:00:00 2001 1From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> 2From: Andrey Zhizhikin <andrey.z@gmail.com>
3Date: Sun, 26 Jan 2020 19:55:06 +0000 3Date: Mon, 27 Jan 2020 10:22:35 +0000
4Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build 4Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build
5 5
6When Yocto build is performed, opencv searches for data dir using simple 6When Yocto build is performed, opencv searches for data dir using simple
7test command, and this fails because pkg-config provides an absolute 7'test' command, this fails because pkg-config provides an absolute
8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR 8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
9in order for the 'test' utility to pick up the absolute path. 9in order for the 'test' utility to pick up the absolute path.
10 10
11Upstream-Status: Inappropriate [OE-specific] 11Upstream-Status: Inappropriate [OE-specific]
12 12
13Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> 13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
14
15--- 14---
16 ext/opencv/meson.build | 7 ++++--- 15 ext/opencv/meson.build | 7 ++++---
17 1 file changed, 4 insertions(+), 3 deletions(-) 16 1 file changed, 4 insertions(+), 3 deletions(-)
18 17
19diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build 18diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
20index f38b55dfe..a26403482 100644 19index 0b0b3fc..0ed3344 100644
21--- a/ext/opencv/meson.build 20--- a/ext/opencv/meson.build
22+++ b/ext/opencv/meson.build 21+++ b/ext/opencv/meson.build
23@@ -78,20 +78,21 @@ else 22@@ -78,20 +78,21 @@ else
@@ -45,3 +44,6 @@ index f38b55dfe..a26403482 100644
45 if r.returncode() == 0 44 if r.returncode() == 0
46 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' 45 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
47 else 46 else
47--
482.28.0
49
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
new file mode 100644
index 00000000..cb3bb7d3
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
@@ -0,0 +1,31 @@
1From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Wed, 30 Dec 2020 16:37:47 +0800
4Subject: [PATCH] msdk: fix includedir path
5
6In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path.
7
8Upstream-Status: Inappropriate [OE-specific]
9
10Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
11---
12 sys/msdk/meson.build | 2 ++
13 1 file changed, 2 insertions(+)
14
15diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
16index 6346c9451..068f38548 100644
17--- a/sys/msdk/meson.build
18+++ b/sys/msdk/meson.build
19@@ -40,7 +40,9 @@ endif
20
21 mfx_dep = dependency('libmfx', required: false)
22 if mfx_dep.found()
23+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
24 mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir')
25+ mfx_incdir = pkgconf_sysroot + mfx_incdir
26 mfx_inc = []
27 else
28 # Old versions of MediaSDK don't provide a pkg-config file
29--
302.17.1
31
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb
index 65f8eb07..44b95451 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb
@@ -1,46 +1,45 @@
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 1# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of
2 2# maintenance, the top section is a verbatim copy of an OE-core
3DEPENDS:append:imxgpu2d = " virtual/libg2d" 3# recipe. The second section customizes the recipe for i.MX.
4DEPENDS:append:mx8-nxp-bsp = " libdrm"
5
6PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
7 4
8DEFAULT_PREFERENCE = "-1" 5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15
9 7
10PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
11PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
12 9
13GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https;branch=master" 10DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
14SRCBRANCH = "MM_04.06.01_2105_L5.10.y" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
12BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
15 13
16SRC_URI = " \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
17 ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ 15 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
18" 16 file://0002-avoid-including-sys-poll.h-directly.patch \
19SRCREV = "227af57d23cb6b3564fc94446ab2c9fe8c8cff22" 17 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
18 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
19 file://0005-msdk-fix-includedir-path.patch \
20 "
21SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f"
20 22
21S = "${WORKDIR}/git" 23S = "${WORKDIR}/gst-plugins-bad-${PV}"
22 24
23LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" 25LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later"
24LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ 26LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
25 file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
26 27
27DEPENDS += "gstreamer1.0-plugins-base" 28DEPENDS += "gstreamer1.0-plugins-base"
28 29
29inherit gobject-introspection 30inherit gobject-introspection
30 31
31PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
32PACKAGECONFIG_GL:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
33
34PACKAGECONFIG ??= " \ 32PACKAGECONFIG ??= " \
35 ${GSTREAMER_ORC} \ 33 ${GSTREAMER_ORC} \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ 34 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
37 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ 35 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
38 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 36 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
39 ${PACKAGECONFIG_GL} \ 37 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
40 bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \ 38 bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \
41 ttml uvch264 webp \ 39 sndfile ttml uvch264 webp \
42" 40"
43 41
42PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
44PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" 43PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
45PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" 44PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
46PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" 45PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
@@ -53,16 +52,20 @@ PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
53PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" 52PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
54PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" 53PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
55PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" 54PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
56PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle" 55PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
56# Pick atleast one crypto backend below when enabling hls
57PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
58PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
59PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
57# the gl packageconfig enables OpenGL elements that haven't been ported 60# the gl packageconfig enables OpenGL elements that haven't been ported
58# to -base yet. They depend on the gstgl library in -base, so we do 61# to -base yet. They depend on the gstgl library in -base, so we do
59# not add GL dependencies here, since these are taken care of in -base. 62# not add GL dependencies here, since these are taken care of in -base.
60PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," 63PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
61PACKAGECONFIG[gles2] = ",,virtual/libgles2"
62PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" 64PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
63PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" 65PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
64PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms" 66PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
65PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" 67PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
68PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
66PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" 69PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
67PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk" 70PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
68PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon" 71PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
@@ -78,43 +81,41 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr
78PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" 81PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
79PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" 82PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
80PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" 83PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
81PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp" 84PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
82PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" 85PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
83PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" 86PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
87PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
84PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" 88PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
85PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" 89PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
86PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
87PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" 90PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
88PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" 91PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
92PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
93PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
89PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" 94PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
90PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" 95PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
91PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader" 96PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
92PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" 97PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
93PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" 98PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
94PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" 99PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
95PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" 100PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
96PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" 101PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
97 102PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
98# these plugins currently have no corresponding library in OE-core or meta-openembedded:
99# aom androidmedia applemedia bs2b chromaprint d3dvideosink
100# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
101# mplex musepack nvdec nvenc ofa openexr openni2 opensles
102# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks
103# winscreencap wpe x265
104 103
105EXTRA_OEMESON += " \ 104EXTRA_OEMESON += " \
105 -Ddoc=disabled \
106 -Ddecklink=enabled \ 106 -Ddecklink=enabled \
107 -Ddvb=enabled \ 107 -Ddvb=enabled \
108 -Dfbdev=enabled \ 108 -Dfbdev=enabled \
109 -Dipcpipeline=enabled \ 109 -Dipcpipeline=enabled \
110 -Dnetsim=enabled \
111 -Dshm=enabled \ 110 -Dshm=enabled \
112 -Daom=disabled \ 111 -Dtranscode=enabled \
113 -Dandroidmedia=disabled \ 112 -Dandroidmedia=disabled \
114 -Dapplemedia=disabled \ 113 -Dapplemedia=disabled \
114 -Davtp=disabled \
115 -Dbs2b=disabled \ 115 -Dbs2b=disabled \
116 -Dchromaprint=disabled \ 116 -Dchromaprint=disabled \
117 -Dd3dvideosink=disabled \ 117 -Dd3dvideosink=disabled \
118 -Dd3d11=disabled \
118 -Ddirectsound=disabled \ 119 -Ddirectsound=disabled \
119 -Ddts=disabled \ 120 -Ddts=disabled \
120 -Dfdkaac=disabled \ 121 -Dfdkaac=disabled \
@@ -125,27 +126,28 @@ EXTRA_OEMESON += " \
125 -Dkate=disabled \ 126 -Dkate=disabled \
126 -Dladspa=disabled \ 127 -Dladspa=disabled \
127 -Dlv2=disabled \ 128 -Dlv2=disabled \
129 -Dmagicleap=disabled \
130 -Dmediafoundation=disabled \
131 -Dmicrodns=disabled \
128 -Dmpeg2enc=disabled \ 132 -Dmpeg2enc=disabled \
129 -Dmplex=disabled \ 133 -Dmplex=disabled \
130 -Dmsdk=disabled \
131 -Dmusepack=disabled \ 134 -Dmusepack=disabled \
135 -Dnvcodec=disabled \
132 -Dofa=disabled \ 136 -Dofa=disabled \
133 -Dopenexr=disabled \ 137 -Dopenexr=disabled \
134 -Dopenmpt=disabled \
135 -Dopenni2=disabled \ 138 -Dopenni2=disabled \
136 -Dopensles=disabled \ 139 -Dopensles=disabled \
137 -Dsoundtouch=disabled \ 140 -Dsoundtouch=disabled \
138 -Dspandsp=disabled \ 141 -Dspandsp=disabled \
139 -Dsrt=disabled \ 142 -Dsvthevcenc=disabled \
140 -Dteletext=disabled \ 143 -Dteletext=disabled \
141 -Dwasapi=disabled \ 144 -Dwasapi=disabled \
145 -Dwasapi2=disabled \
142 -Dwildmidi=disabled \ 146 -Dwildmidi=disabled \
143 -Dwinks=disabled \ 147 -Dwinks=disabled \
144 -Dwinscreencap=disabled \ 148 -Dwinscreencap=disabled \
145 -Dwpe=disabled \ 149 -Dwpe=disabled \
146 -Dx265=disabled \ 150 -Dzxing=disabled \
147 -Dzbar=disabled \
148 ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
149" 151"
150 152
151export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" 153export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
@@ -157,7 +159,43 @@ FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
157FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" 159FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
158FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" 160FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
159FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" 161FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
160# include fragment shaders 162
161FILES:${PN}-opengl += "/usr/share/*.fs" 163########### End of OE-core copy ###########
164
165########### i.MX overrides ################
166
167DEFAULT_PREFERENCE = "-1"
168
169DEPENDS:append:imxgpu2d = " virtual/libg2d"
170
171SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz"
172GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
173SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
174SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
175SRCREV = "1dd01156ea45fc7a61e9edc4186353cd63a03800"
176
177S = "${WORKDIR}/git"
178
179inherit use-imx-headers
180
181PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
182PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}"
183
184PACKAGECONFIG_REMOVE ?= " \
185 dtls vulkan \
186 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
187"
188PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
189PACKAGECONFIG:append:mx8 = " kms tinycompress"
190
191PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
192
193# Disable introspection to fix [GstPlayer-1.0.gir] Error
194EXTRA_OEMESON += " \
195 -Dintrospection=disabled \
196 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
197"
162 198
163COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 199COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
200
201########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
deleted file mode 100644
index 94a61465..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From b975be9c4630536ec1315773be29900371d21930 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 24 Sep 2015 19:47:32 +0300
4Subject: [PATCH] glimagesink: Downrank to marginal
5
6On desktop, where there is good OpenGL, xvimagesink will come up first,
7on other platforms, OpenGL can't be trusted because it's either software (like
8in a VM) or broken (like on embedded)., so let ximagesink come above.
9
10Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684]
11
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13
14---
15 ext/gl/gstopengl.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
19index 302e8452c..463be9cd8 100644
20--- a/ext/gl/gstopengl.c
21+++ b/ext/gl/gstopengl.c
22@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin)
23 #endif
24
25 if (!gst_element_register (plugin, "glimagesink",
26- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) {
27+ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) {
28 return FALSE;
29 }
30
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch
deleted file mode 100644
index 0fa3dd30..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From 1718197bf6ebf3d8784a55126609aa8770fff682 Mon Sep 17 00:00:00 2001
2From: Xavier Claessens <xavier.claessens@collabora.com>
3Date: Mon, 26 Apr 2021 14:25:03 -0400
4Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1
5
6"implicit_include_directories: false" now also means that current build
7directory is not added to include paths by default any more. We have to
8add it manually because we have some custom_target() that generate
9headers in current build directory.
10
11See https://github.com/mesonbuild/meson/issues/8700.
12
13Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1125>
14Upstream-Status: Backport
15Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
16
17---
18 gst-libs/gst/gl/meson.build | 15 ++++++++++++---
19 1 file changed, 12 insertions(+), 3 deletions(-)
20
21diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
22index ae19d7aca..3ad7ddcf6 100644
23--- a/gst-libs/gst/gl/meson.build
24+++ b/gst-libs/gst/gl/meson.build
25@@ -1023,11 +1023,20 @@ if build_gstgl
26 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
27 gen_sources = [gl_enumtypes_h]
28
29+ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL']
30+
31+ # We have custom_target() that generate headers in the current build dir,
32+ # but with implicit_include_directories: false, meson >= 0.58.0 won't include
33+ # it by default. We cannot use include_directories('.') here because it would
34+ # also include current source dir which is what we want to avoid because
35+ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h.
36+ common_args += '-I@0@'.format(meson.current_build_dir())
37+
38 gstgl = library('gstgl-' + api_version,
39 gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h,
40- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
41- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
42- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'],
43+ c_args : common_args,
44+ cpp_args : common_args,
45+ objc_args : common_args + gl_objc_args,
46 include_directories : [configinc, libsinc, gl_includes],
47 version : libversion,
48 soversion : soversion,
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend
deleted file mode 100644
index 1c62f31d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
1PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
2PACKAGECONFIG_GL:imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
3
4# For mainline BSP we need to enable 'gbm' Window system
5PACKAGECONFIG_GL:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb
index b297a178..03bfa129 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb
@@ -1,3 +1,10 @@
1# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. 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
3DESCRIPTION = "'Base' GStreamer plugins and helper libraries" 10DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
@@ -6,23 +13,20 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues
6LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" 13LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" 14LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
8 15
9GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https;branch=master" 16SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
10SRCBRANCH = "MM_04.06.01_2105_L5.10.y" 17 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
11SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
12 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 18 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
19 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
13 file://0004-glimagesink-Downrank-to-marginal.patch \ 20 file://0004-glimagesink-Downrank-to-marginal.patch \
14 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \ 21 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
15 " 22 "
16SRCREV = "69554a26c932481acb7c5691038c367eca60e5bc" 23SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323"
17 24
18S = "${WORKDIR}/git" 25S = "${WORKDIR}/gst-plugins-base-${PV}"
19 26
20DEPENDS += "iso-codes util-linux zlib" 27DEPENDS += "iso-codes util-linux zlib"
21DEPENDS:append:imxgpu2d = " virtual/libg2d"
22 28
23inherit gobject-introspection use-imx-headers 29inherit gobject-introspection
24
25DEFAULT_PREFERENCE = "-1"
26 30
27PACKAGES_DYNAMIC =+ "^libgst.*" 31PACKAGES_DYNAMIC =+ "^libgst.*"
28 32
@@ -40,7 +44,6 @@ PACKAGECONFIG ??= " \
40 44
41OPENGL_APIS = 'opengl gles2' 45OPENGL_APIS = 'opengl gles2'
42OPENGL_PLATFORMS = 'egl' 46OPENGL_PLATFORMS = 'egl'
43OPENGL_WINSYS = 'x11 wayland gbm viv-fb'
44 47
45X11DEPENDS = "virtual/libx11 libsm libxrender libxv" 48X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
46X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" 49X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
@@ -80,7 +83,6 @@ EXTRA_OEMESON += " \
80 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ 83 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
81 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ 84 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
82 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ 85 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
83 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
84" 86"
85 87
86FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" 88FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
@@ -99,4 +101,44 @@ def get_opengl_cmdline_list(switch_name, options, d):
99 101
100CVE_PRODUCT += "gst-plugins-base" 102CVE_PRODUCT += "gst-plugins-base"
101 103
104########### End of OE-core copy ###########
105
106########### i.MX overrides ################
107
108DEFAULT_PREFERENCE = "-1"
109
110SRC_URI:remove = " \
111 https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
112 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
113 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
114 file://0004-glimagesink-Downrank-to-marginal.patch \
115 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
116"
117GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
118SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
119SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
120SRCREV = "d8f5d6e1d477a299ccb7f4ba7aacd36ff5e39f8b"
121
122S = "${WORKDIR}/git"
123
124inherit use-imx-headers
125
126PACKAGECONFIG_GL:imxgpu2d = \
127 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl viv-fb', '', d)}"
128PACKAGECONFIG_GL:imxgpu3d = \
129 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}"
130PACKAGECONFIG_GL:use-mainline-bsp = \
131 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
132
133PACKAGECONFIG_REMOVE ?= "jpeg"
134PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
135PACKAGECONFIG:append:imxgpu2d = " g2d"
136
137PACKAGECONFIG[g2d] = ",,virtual/libg2d"
138PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
139
140EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
141
102COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 142COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
143
144########### End of i.MX overrides #########
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 #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
index 88ae94d0..98e94786 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
@@ -13,7 +13,7 @@ LICENSE_FLAGS = "commercial"
13SRC_URI = " \ 13SRC_URI = " \
14 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ 14 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
15 " 15 "
16SRC_URI[sha256sum] = "686644e45e08258ae240c4519376668ad8d34ea6d0f6ab556473c317bfb7e082" 16SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9"
17 17
18S = "${WORKDIR}/gst-plugins-ugly-${PV}" 18S = "${WORKDIR}/gst-plugins-ugly-${PV}"
19 19
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 6962a50d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Fri, 18 Oct 2019 00:42:12 +0100
4Subject: [PATCH] meson: build gir even when cross-compiling if introspection
5 was enabled explicitly
6
7This can be made to work in certain circumstances when
8cross-compiling, so default to not building g-i stuff
9when cross-compiling, but allow it if introspection was
10enabled explicitly via -Dintrospection=enabled.
11
12See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
13
14Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47]
15
16Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
17---
18 meson.build | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/meson.build b/meson.build
22index e1e3b1d..3f45f0e 100644
23--- a/meson.build
24+++ b/meson.build
25@@ -173,7 +173,7 @@ endif
26
27 gir = find_program('g-ir-scanner', required : get_option('introspection'))
28 gnome = import('gnome')
29-build_gir = gir.found() and not meson.is_cross_build()
30+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
31 gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
32 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
33 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
34--
352.17.1
36
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
index 4c212ece..d4c4e576 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
@@ -8,17 +8,16 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
8 8
9PNREAL = "gst-rtsp-server" 9PNREAL = "gst-rtsp-server"
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ 11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
12 "
13 12
14SRC_URI[md5sum] = "77fe28c702a83566811ab5c7bbe99ab2" 13SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f"
15SRC_URI[sha256sum] = "2ad19311054cbf2df0d0622936bc703dedc06ced706df46a3d3a3ea5a4b7c70f"
16 14
17S = "${WORKDIR}/${PNREAL}-${PV}" 15S = "${WORKDIR}/${PNREAL}-${PV}"
18 16
19inherit meson pkgconfig upstream-version-is-even gobject-introspection 17inherit meson pkgconfig upstream-version-is-even gobject-introspection
20 18
21EXTRA_OEMESON += " \ 19EXTRA_OEMESON += " \
20 -Ddoc=disabled \
22 -Dexamples=disabled \ 21 -Dexamples=disabled \
23 -Dtests=disabled \ 22 -Dtests=disabled \
24" 23"
@@ -29,4 +28,6 @@ GIR_MESON_DISABLE_FLAG = "disabled"
29# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well 28# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
30require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc 29require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
31 30
31CVE_PRODUCT += "gst-rtsp-server"
32
32COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 33COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
index 96abef17..5805e8b6 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
@@ -1,7 +1,7 @@
1From 598d108e2c438d8f2ecd3bf948fa3ebbd3681490 Mon Sep 17 00:00:00 2001 1From d7f05d09c55d35bbe4e0f856759519ef183d9a56 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> 2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Fri, 14 Aug 2020 16:38:26 +0100 3Date: Fri, 14 Aug 2020 16:38:26 +0100
4Subject: [PATCH 2/3] Remove unused valgrind detection 4Subject: [PATCH] Remove unused valgrind detection
5 5
6Having this just to log a debug message in case we're 6Having this just to log a debug message in case we're
7running inside valgrind doesn't seem very useful, and 7running inside valgrind doesn't seem very useful, and
@@ -12,6 +12,7 @@ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/59
12Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245] 12Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245]
13 13
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
15--- 16---
16 gst/gst_private.h | 2 -- 17 gst/gst_private.h | 2 --
17 gst/gstinfo.c | 39 --------------------------------------- 18 gst/gstinfo.c | 39 ---------------------------------------
@@ -32,12 +33,12 @@ index eefd044d9..8252ede51 100644
32 G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void); 33 G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
33 G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void); 34 G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
34diff --git a/gst/gstinfo.c b/gst/gstinfo.c 35diff --git a/gst/gstinfo.c b/gst/gstinfo.c
35index 5d317877b..097f8b20d 100644 36index eea1a219d..d3035d6db 100644
36--- a/gst/gstinfo.c 37--- a/gst/gstinfo.c
37+++ b/gst/gstinfo.c 38+++ b/gst/gstinfo.c
38@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; 39@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
39 static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT; 40 static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
40 static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON; 41 static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
41 42
42-/* FIXME: export this? */ 43-/* FIXME: export this? */
43-gboolean 44-gboolean
@@ -82,7 +83,7 @@ index 5d317877b..097f8b20d 100644
82 env = g_getenv ("GST_DEBUG_OPTIONS"); 83 env = g_getenv ("GST_DEBUG_OPTIONS");
83 if (env != NULL) { 84 if (env != NULL) {
84 if (strstr (env, "full_tags") || strstr (env, "full-tags")) 85 if (strstr (env, "full_tags") || strstr (env, "full-tags"))
85@@ -2503,12 +2470,6 @@ gst_debug_construct_win_color (guint colorinfo) 86@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo)
86 return 0; 87 return 0;
87 } 88 }
88 89
@@ -96,7 +97,7 @@ index 5d317877b..097f8b20d 100644
96 _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, 97 _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
97 const gchar * func, gint line, GObject * obj, const gchar * msg, 98 const gchar * func, gint line, GObject * obj, const gchar * msg,
98diff --git a/meson.build b/meson.build 99diff --git a/meson.build b/meson.build
99index ce1921aa4..7a84d0981 100644 100index 82a17282b..42ae61790 100644
100--- a/meson.build 101--- a/meson.build
101+++ b/meson.build 102+++ b/meson.build
102@@ -200,7 +200,6 @@ check_headers = [ 103@@ -200,7 +200,6 @@ check_headers = [
@@ -107,6 +108,3 @@ index ce1921aa4..7a84d0981 100644
107 'sys/resource.h', 108 'sys/resource.h',
108 'sys/uio.h', 109 'sys/uio.h',
109 ] 110 ]
110--
1112.29.2
112
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb
index 82c36703..3aabcf2d 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb
@@ -1,3 +1,10 @@
1# This recipe is for the i.MX fork of gstreamer1.0. 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
1SUMMARY = "GStreamer 1.0 multimedia framework" 8SUMMARY = "GStreamer 1.0 multimedia framework"
2DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ 9DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
3It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." 10It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
@@ -13,12 +20,9 @@ inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection p
13LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ 20LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
14 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" 21 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
15 22
16S = "${WORKDIR}/git" 23S = "${WORKDIR}/gstreamer-${PV}"
17 24
18# Use i.MX fork of GST for customizations 25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
19GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https;branch=master"
20SRCBRANCH = "MM_04.06.01_2105_L5.10.y"
21SRC_URI = "${GST1.0_SRC};branch=${SRCBRANCH} \
22 file://run-ptest \ 26 file://run-ptest \
23 file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ 27 file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
24 file://0002-Remove-unused-valgrind-detection.patch \ 28 file://0002-Remove-unused-valgrind-detection.patch \
@@ -28,9 +32,7 @@ SRC_URI = "${GST1.0_SRC};branch=${SRCBRANCH} \
28 file://0006-tests-use-a-dictionaries-for-environment.patch \ 32 file://0006-tests-use-a-dictionaries-for-environment.patch \
29 file://0007-tests-install-the-environment-for-installed_tests.patch \ 33 file://0007-tests-install-the-environment-for-installed_tests.patch \
30 " 34 "
31SRCREV = "2f20fd10eaf8629b3e8c134424c38412c4d3bd86" 35SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5"
32
33DEFAULT_PREFERENCE = "-1"
34 36
35PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 37PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
36 check \ 38 check \
@@ -79,4 +81,21 @@ CVE_PRODUCT = "gstreamer"
79 81
80PTEST_BUILD_HOST_FILES = "" 82PTEST_BUILD_HOST_FILES = ""
81 83
84########### End of OE-core copy ###########
85
86########### i.MX overrides ################
87
88DEFAULT_PREFERENCE = "-1"
89
90# Use i.MX fork of GST for customizations
91SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
92GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
93SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
94SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
95SRCREV = "a55998c70940bd183d25d29e1b82fd3bc9f43df3"
96
97S = "${WORKDIR}/git"
98
82COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 99COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
100
101########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb
index 160a9ea5..ab8117b3 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb
@@ -10,7 +10,9 @@ SECTION = "multimedia"
10DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" 10DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
11DEPENDS:append:mx6-nxp-bsp = " imx-lib" 11DEPENDS:append:mx6-nxp-bsp = " imx-lib"
12DEPENDS:append:mx7-nxp-bsp = " imx-lib" 12DEPENDS:append:mx7-nxp-bsp = " imx-lib"
13DEPENDS:append:imxvpu = " imx-vpuwrap libdrm" 13DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
14DEPENDS:append:imxvpu = " imx-vpuwrap"
15DEPENDS:append:imxfbdev:imxgpu = " libdrm"
14 16
15# For backwards compatibility 17# For backwards compatibility
16RREPLACES:${PN} = "gst1.0-fsl-plugin" 18RREPLACES:${PN} = "gst1.0-fsl-plugin"
@@ -20,11 +22,12 @@ RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
20LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ 22LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
21 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" 23 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
22 24
23SRCBRANCH = "MM_04.06.01_2105_L5.10.y" 25SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
26
24 27
25 28
26SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" 29SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
27SRCREV = "057e6bfbc208ce31e8ed0af0264dd1e86de05808" 30SRCREV = "f4b3105ab33e608c717855cdd1a520b60f377bf3"
28 31
29S = "${WORKDIR}/git" 32S = "${WORKDIR}/git"
30 33
@@ -55,11 +58,7 @@ RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp"
55RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" 58RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp"
56RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" 59RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp"
57 60
58# overlaysink rely on G2D,
59# cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D
60PACKAGECONFIG ?= "" 61PACKAGECONFIG ?= ""
61PACKAGECONFIG:imxgpu2d = "overlaysink"
62
63 62
64# FIXME: Add all features 63# FIXME: Add all features
65# feature from excluded mm packages 64# feature from excluded mm packages
@@ -69,7 +68,6 @@ PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec"
69MSDEPENDS = "imx-msparser imx-mscodec" 68MSDEPENDS = "imx-msparser imx-mscodec"
70PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" 69PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}"
71PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" 70PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}"
72PACKAGECONFIG[overlaysink] += ",,virtual/libg2d"
73 71
74FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" 72FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
75 73