hardknott: gstreamer-1.0: sync with meta-imx hardknott-5.10.72-2.2.0 branch
Update to v1.18.5 while keeping our modifications Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
bd624bef3f
commit
f440a266c2
|
|
@ -1,34 +0,0 @@
|
|||
SUMMARY = "Libav-based GStreamer 1.x plugin"
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
|
||||
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
|
||||
"
|
||||
SRC_URI[md5sum] = "fe2f07356fa37445837cdde274027117"
|
||||
SRC_URI[sha256sum] = "42f93f5ce9a3fc22051e5f783a4574b56ebf213f331f75dcbc3552459bd3a06a"
|
||||
|
||||
S = "${WORKDIR}/gst-libav-${PV}"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even
|
||||
|
||||
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
|
||||
delete_unused_libav_copy() {
|
||||
# When building with meson, the internal libav copy is not used.
|
||||
# It is only present for legacy autotools based builds. In future
|
||||
# GStreamer versions, the autotools scripts will be gone, and so
|
||||
# will this internal copy. Until then, it will be present. In order
|
||||
# to make sure this copy is not included in the -src package, just
|
||||
# manually delete the copy.
|
||||
rm -rf "${S}/gst-libs/ext/libav/"
|
||||
}
|
||||
|
||||
do_unpack[postfuncs] += " delete_unused_libav_copy"
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
SUMMARY = "Libav-based GStreamer 1.x plugin"
|
||||
DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
|
||||
muxers, and demuxers provided by FFmpeg."
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
|
||||
LICENSE_FLAGS = "commercial"
|
||||
LICENSE = "LGPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
|
||||
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
|
||||
"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548"
|
||||
|
||||
S = "${WORKDIR}/gst-libav-${PV}"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even
|
||||
|
||||
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001
|
||||
From: Andre McCurdy <armccurdy@gmail.com>
|
||||
Date: Tue, 26 Jan 2016 15:16:01 -0800
|
||||
Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
|
||||
---
|
||||
gst-libs/gst/codecparsers/gstvc1parser.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
|
||||
index 2c60ced..e8226d8 100644
|
||||
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
|
||||
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
|
||||
@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
|
||||
GstVC1SeqLayer * seqlayer)
|
||||
{
|
||||
guint32 tmp;
|
||||
- guint8 tmp8;
|
||||
+ guint8 tmp8 = 0;
|
||||
guint8 structA[8] = { 0, };
|
||||
guint8 structB[12] = { 0, };
|
||||
GstBitReader br;
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001
|
||||
From: Andre McCurdy <armccurdy@gmail.com>
|
||||
Date: Wed, 3 Feb 2016 18:05:41 -0800
|
||||
Subject: [PATCH 2/4] avoid including <sys/poll.h> directly
|
||||
|
||||
musl libc generates warnings if <sys/poll.h> is included directly.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
|
||||
---
|
||||
sys/dvb/gstdvbsrc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
|
||||
index ca6b92a..b2772db 100644
|
||||
--- a/sys/dvb/gstdvbsrc.c
|
||||
+++ b/sys/dvb/gstdvbsrc.c
|
||||
@@ -97,7 +97,7 @@
|
||||
#include <gst/gst.h>
|
||||
#include <gst/glib-compat-private.h>
|
||||
#include <sys/ioctl.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001
|
||||
From: Andre McCurdy <armccurdy@gmail.com>
|
||||
Date: Tue, 9 Feb 2016 14:00:00 -0800
|
||||
Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc
|
||||
|
||||
For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
|
||||
ie __attribute__((__sentinel__)), gcc will generate a warning if the
|
||||
last parameter passed to the function is not NULL (where a valid NULL
|
||||
in this context is defined as zero with any pointer type).
|
||||
|
||||
The C callers to such functions within gst-plugins-bad use the C NULL
|
||||
definition (ie ((void*)0)), which is a valid sentinel.
|
||||
|
||||
However the C++ NULL definition (ie 0L), is not a valid sentinel
|
||||
without an explicit cast to a pointer type.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
|
||||
---
|
||||
sys/decklink/gstdecklink.cpp | 10 +++++-----
|
||||
sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
|
||||
sys/decklink/gstdecklinkvideosink.cpp | 2 +-
|
||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
|
||||
index 4dac7e1..43762ce 100644
|
||||
--- a/sys/decklink/gstdecklink.cpp
|
||||
+++ b/sys/decklink/gstdecklink.cpp
|
||||
@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
|
||||
"pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
|
||||
"interlace-mode", G_TYPE_STRING,
|
||||
mode->interlaced ? "interleaved" : "progressive",
|
||||
- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
|
||||
+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
|
||||
|
||||
return s;
|
||||
}
|
||||
@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
|
||||
case bmdFormat8BitYUV: /* '2vuy' */
|
||||
gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
|
||||
"colorimetry", G_TYPE_STRING, mode->colorimetry,
|
||||
- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
|
||||
+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL);
|
||||
break;
|
||||
case bmdFormat10BitYUV: /* 'v210' */
|
||||
- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
|
||||
+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL);
|
||||
break;
|
||||
case bmdFormat8BitARGB: /* 'ARGB' */
|
||||
- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
|
||||
+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL);
|
||||
break;
|
||||
case bmdFormat8BitBGRA: /* 'BGRA' */
|
||||
- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
|
||||
+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL);
|
||||
break;
|
||||
case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
|
||||
case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
|
||||
diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
|
||||
index 2fef934..c47229a 100644
|
||||
--- a/sys/decklink/gstdecklinkaudiosrc.cpp
|
||||
+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
|
||||
@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
|
||||
g_mutex_unlock (&self->input->lock);
|
||||
|
||||
if (videosrc) {
|
||||
- g_object_get (videosrc, "connection", &vconn, NULL);
|
||||
+ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
|
||||
gst_object_unref (videosrc);
|
||||
|
||||
switch (vconn) {
|
||||
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
|
||||
index e3a6775..f1a5aae 100644
|
||||
--- a/sys/decklink/gstdecklinkvideosink.cpp
|
||||
+++ b/sys/decklink/gstdecklinkvideosink.cpp
|
||||
@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
|
||||
gpointer user_data)
|
||||
{
|
||||
gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
|
||||
- G_MAXINT, 1, NULL);
|
||||
+ G_MAXINT, 1, (void *) NULL);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Zhizhikin <andrey.z@gmail.com>
|
||||
Date: Mon, 27 Jan 2020 10:22:35 +0000
|
||||
Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build
|
||||
|
||||
When Yocto build is performed, opencv searches for data dir using simple
|
||||
'test' command, this fails because pkg-config provides an absolute
|
||||
path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
|
||||
in order for the 'test' utility to pick up the absolute path.
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
|
||||
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
||||
---
|
||||
ext/opencv/meson.build | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
|
||||
index 0b0b3fc..0ed3344 100644
|
||||
--- a/ext/opencv/meson.build
|
||||
+++ b/ext/opencv/meson.build
|
||||
@@ -78,20 +78,21 @@ else
|
||||
endif
|
||||
|
||||
if opencv_found
|
||||
+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
|
||||
opencv_prefix = opencv_dep.get_pkgconfig_variable('prefix')
|
||||
gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
|
||||
|
||||
# Check the data dir used by opencv for its xml data files
|
||||
# Use prefix from pkg-config to be compatible with cross-compilation
|
||||
- r = run_command('test', '-d', opencv_prefix + '/share/opencv')
|
||||
+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv')
|
||||
if r.returncode() == 0
|
||||
gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"'
|
||||
else
|
||||
- r = run_command('test', '-d', opencv_prefix + '/share/OpenCV')
|
||||
+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/OpenCV')
|
||||
if r.returncode() == 0
|
||||
gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"'
|
||||
else
|
||||
- r = run_command('test', '-d', opencv_prefix + '/share/opencv4')
|
||||
+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv4')
|
||||
if r.returncode() == 0
|
||||
gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
|
||||
else
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Wed, 30 Dec 2020 16:37:47 +0800
|
||||
Subject: [PATCH] msdk: fix includedir path
|
||||
|
||||
In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path.
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
sys/msdk/meson.build | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
|
||||
index 6346c9451..068f38548 100644
|
||||
--- a/sys/msdk/meson.build
|
||||
+++ b/sys/msdk/meson.build
|
||||
@@ -40,7 +40,9 @@ endif
|
||||
|
||||
mfx_dep = dependency('libmfx', required: false)
|
||||
if mfx_dep.found()
|
||||
+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
|
||||
mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir')
|
||||
+ mfx_incdir = pkgconf_sysroot + mfx_incdir
|
||||
mfx_inc = []
|
||||
else
|
||||
# Old versions of MediaSDK don't provide a pkg-config file
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
@ -1,43 +1,45 @@
|
|||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 633739bc912cf84c78f5ae0f7fbcb41663a05c7f
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
|
||||
DEPENDS_append_imxgpu2d = " virtual/libg2d"
|
||||
DEPENDS_append_mx8 = " libdrm"
|
||||
DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
|
||||
|
||||
PACKAGECONFIG_append_mx8 = " kms tinycompress "
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
|
||||
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
|
||||
file://0005-msdk-fix-includedir-path.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
|
||||
|
||||
GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.00_2012_L5.10.y"
|
||||
|
||||
SRC_URI = " \
|
||||
${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \
|
||||
"
|
||||
SRCREV = "ff973f1d87a61ac7e5a2b1e3c1de5b4eb2d07e4e"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
S = "${WORKDIR}/gst-plugins-bad-${PV}"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
|
||||
file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
inherit use-imx-headers gobject-introspection
|
||||
inherit gobject-introspection
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'directfb ', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'gl', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
|
||||
bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
|
||||
ttml uvch264 webp \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
|
||||
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
|
||||
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
|
|
@ -59,6 +61,7 @@ PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
|
|||
PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
|
||||
PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
|
||||
PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
|
||||
PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
|
||||
PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
|
||||
PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
|
||||
PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
|
||||
|
|
@ -74,43 +77,41 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr
|
|||
PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
|
||||
PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
|
||||
PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
|
||||
PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
|
||||
PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
|
||||
PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
|
||||
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
|
||||
PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
|
||||
PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
|
||||
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
|
||||
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
|
||||
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
|
||||
PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
|
||||
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
|
||||
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
|
||||
PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
|
||||
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
|
||||
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
|
||||
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
|
||||
PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
|
||||
|
||||
# these plugins currently have no corresponding library in OE-core or meta-openembedded:
|
||||
# aom androidmedia applemedia bs2b chromaprint d3dvideosink
|
||||
# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
|
||||
# mplex musepack nvdec nvenc ofa openexr openni2 opensles
|
||||
# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks
|
||||
# winscreencap wpe x265
|
||||
PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Ddecklink=enabled \
|
||||
-Ddvb=enabled \
|
||||
-Dfbdev=enabled \
|
||||
-Dipcpipeline=enabled \
|
||||
-Dnetsim=enabled \
|
||||
-Dshm=enabled \
|
||||
-Daom=disabled \
|
||||
-Dtranscode=enabled \
|
||||
-Dandroidmedia=disabled \
|
||||
-Dapplemedia=disabled \
|
||||
-Davtp=disabled \
|
||||
-Dbs2b=disabled \
|
||||
-Dchromaprint=disabled \
|
||||
-Dd3dvideosink=disabled \
|
||||
-Dd3d11=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddts=disabled \
|
||||
-Dfdkaac=disabled \
|
||||
|
|
@ -121,31 +122,28 @@ EXTRA_OEMESON += " \
|
|||
-Dkate=disabled \
|
||||
-Dladspa=disabled \
|
||||
-Dlv2=disabled \
|
||||
-Dmagicleap=disabled \
|
||||
-Dmediafoundation=disabled \
|
||||
-Dmicrodns=disabled \
|
||||
-Dmpeg2enc=disabled \
|
||||
-Dmplex=disabled \
|
||||
-Dmsdk=disabled \
|
||||
-Dmusepack=disabled \
|
||||
-Dnvcodec=disabled \
|
||||
-Dofa=disabled \
|
||||
-Dopenexr=disabled \
|
||||
-Dopenmpt=disabled \
|
||||
-Dopenni2=disabled \
|
||||
-Dopensles=disabled \
|
||||
-Dsoundtouch=disabled \
|
||||
-Dspandsp=disabled \
|
||||
-Dsrt=disabled \
|
||||
-Dsvthevcenc=disabled \
|
||||
-Dteletext=disabled \
|
||||
-Dwasapi=disabled \
|
||||
-Dwasapi2=disabled \
|
||||
-Dwildmidi=disabled \
|
||||
-Dwinks=disabled \
|
||||
-Dwinscreencap=disabled \
|
||||
-Dwpe=disabled \
|
||||
-Dx265=disabled \
|
||||
-Dzbar=disabled \
|
||||
${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
|
||||
-Dintrospection="disabled" \
|
||||
-Ddtls="disabled" \
|
||||
-Dvulkan=disabled \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
-Dzxing=disabled \
|
||||
"
|
||||
|
||||
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
|
||||
|
|
@ -155,9 +153,45 @@ ARM_INSTRUCTION_SET_armv5 = "arm"
|
|||
|
||||
FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
|
||||
FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
|
||||
FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
|
||||
FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
|
||||
# include fragment shaders
|
||||
FILES_${PN}-opengl += "/usr/share/*.fs"
|
||||
FILES_libgsttranscoder-1.0 += "${datadir}/gstreamer-1.0/encoding-profiles/*"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
DEPENDS_append_imxgpu2d = " virtual/libg2d"
|
||||
|
||||
SRC_URI_remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz"
|
||||
GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.03_2110_L5.10.y"
|
||||
SRC_URI_prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
|
||||
SRCREV = "64ea74a49cc06da92126cc680968497df679da8c"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
|
||||
|
||||
PACKAGECONFIG_REMOVE ?= " \
|
||||
dtls vulkan \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
|
||||
"
|
||||
PACKAGECONFIG_remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG_append_mx8 = " kms tinycompress"
|
||||
|
||||
PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
|
||||
|
||||
# Disable introspection to fix [GstPlayer-1.0.gir] Error
|
||||
EXTRA_OEMESON += " \
|
||||
-Dintrospection=disabled \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 4b5c7f655bf10b8b58df5ed5647a711b3502d4d2 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Rafael Giani <crg7475@mailbox.org>
|
||||
Date: Tue, 21 May 2019 14:01:11 +0200
|
||||
Subject: [PATCH] viv-fb: Make sure config.h is included
|
||||
|
||||
This prevents build errors due to missing GST_API_* symbols
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
|
||||
|
||||
---
|
||||
gst-libs/gst/gl/gl-prelude.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
|
||||
index 05e1f6229..96ce5e685 100644
|
||||
--- a/gst-libs/gst/gl/gl-prelude.h
|
||||
+++ b/gst-libs/gst/gl/gl-prelude.h
|
||||
@@ -22,6 +22,10 @@
|
||||
#ifndef __GST_GL_PRELUDE_H__
|
||||
#define __GST_GL_PRELUDE_H__
|
||||
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif
|
||||
+
|
||||
#include <gst/gst.h>
|
||||
|
||||
#ifdef BUILDING_GST_GL
|
||||
|
|
@ -1,41 +1,48 @@
|
|||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 633739bc912cf84c78f5ae0f7fbcb41663a05c7f
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
|
||||
DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
|
||||
LICENSE = "GPLv2+ & LGPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
|
||||
"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
|
||||
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.00_2012_L5.10.y"
|
||||
SRCREV = "c0198efbc99f38f5b7620dba6915fd666fd53bea"
|
||||
SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
|
||||
file://0004-glimagesink-Downrank-to-marginal.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
S = "${WORKDIR}/gst-plugins-base-${PV}"
|
||||
|
||||
DEPENDS += "iso-codes util-linux zlib"
|
||||
DEPENDS_append_imxgpu2d = " virtual/libg2d"
|
||||
|
||||
inherit use-imx-headers gobject-introspection
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
inherit gobject-introspection
|
||||
|
||||
PACKAGES_DYNAMIC =+ "^libgst.*"
|
||||
|
||||
# opengl packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to choose OpenGL APIs/platforms/window systems
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}"
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
|
||||
ogg pango png theora vorbis \
|
||||
jpeg ogg pango png theora vorbis \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
|
||||
"
|
||||
|
||||
OPENGL_APIS = 'opengl gles2'
|
||||
OPENGL_PLATFORMS = 'egl'
|
||||
OPENGL_WINSYS = 'x11 wayland gbm viv-fb'
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
|
||||
X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
|
||||
|
|
@ -60,29 +67,29 @@ PACKAGECONFIG[gles2] = ",,virtual/libgles2"
|
|||
|
||||
# OpenGL platform packageconfigs
|
||||
PACKAGECONFIG[egl] = ",,virtual/egl"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/egl virtual/libgles2"
|
||||
|
||||
# OpenGL window systems (except for X11)
|
||||
PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
|
||||
PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
|
||||
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', d)}"
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}"
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}"
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}"
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dgl-graphene=disabled \
|
||||
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
#GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
GTKDOC_MESON_ENABLE_FLAG = "enabled"
|
||||
GTKDOC_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
FILES_${PN} += "${libdir}/gstreamer-1.0/include"
|
||||
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
|
||||
FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
def get_opengl_cmdline_list(switch_name, options, d):
|
||||
selected_options = []
|
||||
if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
|
||||
|
|
@ -93,3 +100,39 @@ def get_opengl_cmdline_list(switch_name, options, d):
|
|||
return '-D' + switch_name + '=' + ','.join(selected_options)
|
||||
else:
|
||||
return ''
|
||||
|
||||
CVE_PRODUCT += "gst-plugins-base"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
DEPENDS_append_imxgpu2d = " virtual/libg2d"
|
||||
|
||||
SRC_URI_remove = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
|
||||
file://0004-glimagesink-Downrank-to-marginal.patch \
|
||||
"
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.03_2110_L5.10.y"
|
||||
SRC_URI_prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
|
||||
SRCREV = "5fe4c49ad969d0bc5e104212ad261911b15a0b83"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGECONFIG_REMOVE ?= "jpeg"
|
||||
PACKAGECONFIG_remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG_GL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' viv-fb', '', d)}"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
|
||||
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'viv-fb', ' viv-fb', '', d)}"
|
||||
EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 31 Mar 2020 21:23:28 -0700
|
||||
Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h
|
||||
|
||||
gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to
|
||||
prefer qt headers definitions for GLsync
|
||||
|
||||
This helps in fixing build errors like below
|
||||
|
||||
/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'
|
||||
24 | typedef struct __GLsync *GLsync;
|
||||
| ^~~~~~
|
||||
In 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,
|
||||
from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30:
|
||||
/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
|
||||
'
|
||||
40 | typedef gpointer GLsync;
|
||||
| ^~~~~~
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
ext/qt/gstqsgtexture.cc | 2 +-
|
||||
ext/qt/qtwindow.cc | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
|
||||
index a05d26e..4cc9fc6 100644
|
||||
--- a/ext/qt/gstqsgtexture.cc
|
||||
+++ b/ext/qt/gstqsgtexture.cc
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include <gst/video/video.h>
|
||||
#include <gst/gl/gl.h>
|
||||
-#include <gst/gl/gstglfuncs.h>
|
||||
+#include <ext/qt/gstqtgl.h>
|
||||
#include "gstqsgtexture.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_qsg_texture_debug
|
||||
diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
|
||||
index 9360c33..0dfd3f1 100644
|
||||
--- a/ext/qt/qtwindow.cc
|
||||
+++ b/ext/qt/qtwindow.cc
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <gst/video/video.h>
|
||||
-#include <gst/gl/gstglfuncs.h>
|
||||
+#include <ext/qt/gstqtgl.h>
|
||||
#include "qtwindow.h"
|
||||
#include "gstqsgtexture.h"
|
||||
#include "gstqtglutility.h"
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
@ -1,17 +1,24 @@
|
|||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 633739bc912cf84c78f5ae0f7fbcb41663a05c7f
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
|
||||
DESCRIPTION = "'Good' GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
|
||||
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.00_2012_L5.10.y"
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
|
||||
file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \
|
||||
"
|
||||
SRCREV = "67da20d13550aa257efcf3aaa2a3f0a7e50880ba"
|
||||
SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
S = "${WORKDIR}/gst-plugins-good-${PV}"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2.1+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
|
|
@ -24,6 +31,7 @@ RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
|
|||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
|
||||
bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
|
||||
"
|
||||
|
||||
|
|
@ -31,6 +39,9 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
|
|||
X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
|
||||
X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
|
||||
|
||||
QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
|
||||
|
||||
PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
|
||||
PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
|
||||
|
|
@ -45,20 +56,18 @@ PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
|
|||
PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
|
||||
PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
|
||||
PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
|
||||
PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
|
||||
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
|
||||
PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
|
||||
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
|
||||
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false,libdrm"
|
||||
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
|
||||
PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
|
||||
PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
|
||||
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
||||
|
||||
# qt5 support is disabled, because it is not present in OE core, and requires more work than
|
||||
# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
|
||||
# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig
|
||||
# in a gstreamer1.0-plugins-good bbappend).
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Daalib=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddv=disabled \
|
||||
|
|
@ -67,7 +76,6 @@ EXTRA_OEMESON += " \
|
|||
-Doss4=disabled \
|
||||
-Dosxaudio=disabled \
|
||||
-Dosxvideo=disabled \
|
||||
-Dqt5=disabled \
|
||||
-Dshout2=disabled \
|
||||
-Dtwolame=disabled \
|
||||
-Dwaveform=disabled \
|
||||
|
|
@ -75,4 +83,27 @@ EXTRA_OEMESON += " \
|
|||
|
||||
FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# fb implementation of v4l2 uses libdrm
|
||||
DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
|
||||
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
|
||||
|
||||
SRC_URI_remove = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
|
||||
"
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.03_2110_L5.10.y"
|
||||
SRC_URI_prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
|
||||
SRCREV = "7113baa4dd681cf028b04ef4ebe70b06db4b0f08"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# Copyright (C) 2020-2021 Digi International Inc.
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb
|
||||
|
||||
SRC_URI[md5sum] = "01d3a24152cfd5eb27b1787d44b524c6"
|
||||
SRC_URI[sha256sum] = "686644e45e08258ae240c4519376668ad8d34ea6d0f6ab556473c317bfb7e082"
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
|
||||
DESCRIPTION = "'Ugly GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
|
||||
|
||||
LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
|
||||
SRC_URI = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
|
||||
"
|
||||
SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES = "0"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
a52dec mpeg2dec \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
|
||||
PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
|
||||
PACKAGECONFIG[amrwb] = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
|
||||
PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
|
||||
PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
|
||||
PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
|
||||
PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dsidplay=disabled \
|
||||
"
|
||||
|
||||
FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
|
||||
FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# Copyright (C) 2020 Digi International Inc.
|
||||
|
||||
PV = "1.16.0"
|
||||
|
||||
SRC_URI[md5sum] = "adc4460239ec2eccf58ad9752ce53bfd"
|
||||
SRC_URI[sha256sum] = "198e9eec1a3e32dc810d3fbf3a714850a22c6288d4a5c8e802c5ff984af03f19"
|
||||
|
||||
# Disable introspection to fix [GstPlayer-1.0.gir] Error
|
||||
EXTRA_OECONF += " \
|
||||
--disable-introspection \
|
||||
"
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
SUMMARY = "A library on top of GStreamer for building an RTSP server"
|
||||
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "LGPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
|
||||
PNREAL = "gst-rtsp-server"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${PV}"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even gobject-introspection
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
CVE_PRODUCT += "gst-rtsp-server"
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
From 14a8b5f82f70b7619e3b5596dec14fa6532919d5 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sat, 10 Oct 2020 19:09:03 +0000
|
||||
Subject: [PATCH] gstpluginloader: when env var is set do not fall through to
|
||||
system plugin scanner
|
||||
|
||||
If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
|
||||
|
||||
Falling through to the one installed on the system is problamatic in cross-compilation
|
||||
environemnts, regardless of whether one pointed to by the env var succeeded or failed.
|
||||
|
||||
taken from:
|
||||
http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669]
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
gst/gstpluginloader.c | 15 +++++++--------
|
||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
|
||||
index 621b24349..4e0f64650 100644
|
||||
--- a/gst/gstpluginloader.c
|
||||
+++ b/gst/gstpluginloader.c
|
||||
@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
|
||||
if (loader->child_running)
|
||||
return TRUE;
|
||||
|
||||
- /* Find the gst-plugin-scanner: first try the env-var if it is set,
|
||||
- * otherwise use the installed version */
|
||||
+ /* Find the gst-plugin-scanner */
|
||||
env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
|
||||
if (env == NULL)
|
||||
env = g_getenv ("GST_PLUGIN_SCANNER");
|
||||
|
||||
if (env != NULL && *env != '\0') {
|
||||
+ /* use the env-var if it is set */
|
||||
GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
|
||||
helper_bin = g_strdup (env);
|
||||
res = gst_plugin_loader_try_helper (loader, helper_bin);
|
||||
g_free (helper_bin);
|
||||
- }
|
||||
-
|
||||
- if (!res) {
|
||||
+ } else {
|
||||
+ /* use the installed version */
|
||||
GST_LOG ("Trying installed plugin scanner");
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
|
||||
#endif
|
||||
res = gst_plugin_loader_try_helper (loader, helper_bin);
|
||||
g_free (helper_bin);
|
||||
+ }
|
||||
|
||||
- if (!res) {
|
||||
- GST_INFO ("No gst-plugin-scanner available, or not working");
|
||||
- }
|
||||
+ if (!res) {
|
||||
+ GST_INFO ("No gst-plugin-scanner available, or not working");
|
||||
}
|
||||
|
||||
return loader->child_running;
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 30958cc93d4872926a7e8f139ad45d29b5be2520 Mon Sep 17 00:00:00 2001
|
||||
From: Seungha Yang <seungha@centricular.com>
|
||||
Date: Tue, 15 Sep 2020 00:54:58 +0900
|
||||
Subject: [PATCH] tests: seek: Don't use too strict timeout for validation
|
||||
|
||||
Expected segment-done message might not be seen within expected
|
||||
time if system is not powerful enough.
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/625>
|
||||
|
||||
Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c]
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
---
|
||||
tests/check/pipelines/seek.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
|
||||
index 28bb8846d..5f7447bc5 100644
|
||||
--- a/tests/check/pipelines/seek.c
|
||||
+++ b/tests/check/pipelines/seek.c
|
||||
@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
|
||||
|
||||
GST_INFO ("wait for segment done message");
|
||||
|
||||
- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
|
||||
+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
|
||||
GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
|
||||
fail_unless (msg, "no message within the timed window");
|
||||
fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
From caa29d32c6729aa6a7005d6cf8ea5e36ff710272 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
|
||||
Date: Fri, 14 Aug 2020 16:38:26 +0100
|
||||
Subject: [PATCH] Remove unused valgrind detection
|
||||
|
||||
Having this just to log a debug message in case we're
|
||||
running inside valgrind doesn't seem very useful, and
|
||||
the code that used to use this no longer exists it seems.
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595>
|
||||
|
||||
Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
gst/gst_private.h | 2 --
|
||||
gst/gstinfo.c | 39 ---------------------------------------
|
||||
meson.build | 1 -
|
||||
3 files changed, 42 deletions(-)
|
||||
|
||||
diff --git a/gst/gst_private.h b/gst/gst_private.h
|
||||
index eefd044d9..8252ede51 100644
|
||||
--- a/gst/gst_private.h
|
||||
+++ b/gst/gst_private.h
|
||||
@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
|
||||
|
||||
G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
|
||||
|
||||
-G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void);
|
||||
-
|
||||
/* init functions called from gst_init(). */
|
||||
G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
|
||||
G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
|
||||
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
|
||||
index eea1a219d..d3035d6db 100644
|
||||
--- a/gst/gstinfo.c
|
||||
+++ b/gst/gstinfo.c
|
||||
@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
|
||||
static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
|
||||
static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
|
||||
|
||||
-/* FIXME: export this? */
|
||||
-gboolean
|
||||
-_priv_gst_in_valgrind (void)
|
||||
-{
|
||||
- static enum
|
||||
- {
|
||||
- GST_VG_UNCHECKED,
|
||||
- GST_VG_NO_VALGRIND,
|
||||
- GST_VG_INSIDE
|
||||
- }
|
||||
- in_valgrind = GST_VG_UNCHECKED;
|
||||
-
|
||||
- if (in_valgrind == GST_VG_UNCHECKED) {
|
||||
-#ifdef HAVE_VALGRIND_VALGRIND_H
|
||||
- if (RUNNING_ON_VALGRIND) {
|
||||
- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind");
|
||||
- in_valgrind = GST_VG_INSIDE;
|
||||
- } else {
|
||||
- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff");
|
||||
- in_valgrind = GST_VG_NO_VALGRIND;
|
||||
- }
|
||||
-#else
|
||||
- in_valgrind = GST_VG_NO_VALGRIND;
|
||||
-#endif
|
||||
- g_assert (in_valgrind == GST_VG_NO_VALGRIND ||
|
||||
- in_valgrind == GST_VG_INSIDE);
|
||||
- }
|
||||
- return (in_valgrind == GST_VG_INSIDE);
|
||||
-}
|
||||
-
|
||||
static gchar *
|
||||
_replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
|
||||
guint val)
|
||||
@@ -463,9 +433,6 @@ _priv_gst_debug_init (void)
|
||||
_priv_GST_CAT_PROTECTION =
|
||||
_gst_debug_category_new ("GST_PROTECTION", 0, "protection");
|
||||
|
||||
- /* print out the valgrind message if we're in valgrind */
|
||||
- _priv_gst_in_valgrind ();
|
||||
-
|
||||
env = g_getenv ("GST_DEBUG_OPTIONS");
|
||||
if (env != NULL) {
|
||||
if (strstr (env, "full_tags") || strstr (env, "full-tags"))
|
||||
@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-gboolean
|
||||
-_priv_gst_in_valgrind (void)
|
||||
-{
|
||||
- return FALSE;
|
||||
-}
|
||||
-
|
||||
void
|
||||
_gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
|
||||
const gchar * func, gint line, GObject * obj, const gchar * msg,
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 82a17282b..42ae61790 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -200,7 +200,6 @@ check_headers = [
|
||||
'sys/wait.h',
|
||||
'ucontext.h',
|
||||
'unistd.h',
|
||||
- 'valgrind/valgrind.h',
|
||||
'sys/resource.h',
|
||||
'sys/uio.h',
|
||||
]
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
From 1453e8c73b8cb9414143df6a7dd164709d3c454c Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Rafael Giani <crg7475@mailbox.org>
|
||||
Date: Fri, 25 Oct 2019 00:06:26 +0200
|
||||
Subject: [PATCH] meson: Add option for installed tests
|
||||
|
||||
This adds an option for producing installed versions of the unit tests.
|
||||
These versions don't need meson to run (only a small shell script). This
|
||||
makes it easier to run cross compiled tests on a target machine.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
|
||||
|
||||
---
|
||||
build-aux/gen-installed-test-desc.py | 18 ++++++
|
||||
build-aux/gen-installed-test-shscript.py | 25 ++++++++
|
||||
meson_options.txt | 2 +
|
||||
tests/check/meson.build | 46 +++++++++++++-
|
||||
tests/files/testfile | 80 ++++++++++++++++++++++++
|
||||
5 files changed, 170 insertions(+), 1 deletion(-)
|
||||
create mode 100644 build-aux/gen-installed-test-desc.py
|
||||
create mode 100644 build-aux/gen-installed-test-shscript.py
|
||||
create mode 100644 tests/files/testfile
|
||||
|
||||
diff --git a/build-aux/gen-installed-test-desc.py b/build-aux/gen-installed-test-desc.py
|
||||
new file mode 100644
|
||||
index 000000000..69e8a0faf
|
||||
--- /dev/null
|
||||
+++ b/build-aux/gen-installed-test-desc.py
|
||||
@@ -0,0 +1,18 @@
|
||||
+import sys
|
||||
+import os
|
||||
+import argparse
|
||||
+
|
||||
+def write_template(filename, data):
|
||||
+ with open(filename, 'w') as f:
|
||||
+ f.write(data)
|
||||
+
|
||||
+def build_template(testdir, testname):
|
||||
+ return "[Test]\nType=session\nExec={}\n".format(os.path.join(testdir, testname))
|
||||
+
|
||||
+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
|
||||
+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
|
||||
+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
|
||||
+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
|
||||
+args = argparser.parse_args()
|
||||
+
|
||||
+write_template(args.output, build_template(args.test_execdir, args.testname))
|
||||
diff --git a/build-aux/gen-installed-test-shscript.py b/build-aux/gen-installed-test-shscript.py
|
||||
new file mode 100644
|
||||
index 000000000..5da86fb37
|
||||
--- /dev/null
|
||||
+++ b/build-aux/gen-installed-test-shscript.py
|
||||
@@ -0,0 +1,25 @@
|
||||
+import sys
|
||||
+import os
|
||||
+import argparse
|
||||
+
|
||||
+def write_template(filename, data):
|
||||
+ with open(filename, 'w') as f:
|
||||
+ f.write(data)
|
||||
+
|
||||
+def build_template(testdir, testname):
|
||||
+ return ''.join([
|
||||
+ "#!/usr/bin/env sh\n",
|
||||
+ "export GST_STATE_IGNORE_ELEMENTS=''\n",
|
||||
+ "export CK_DEFAULT_TIMEOUT=20\n",
|
||||
+ "export GST_PLUGIN_LOADING_WHITELIST='gstreamer'\n",
|
||||
+ "{}\n".format(os.path.join(testdir, testname)),
|
||||
+ ])
|
||||
+
|
||||
+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
|
||||
+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
|
||||
+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
|
||||
+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
|
||||
+args = argparser.parse_args()
|
||||
+
|
||||
+write_template(args.output, build_template(args.test_execdir, args.testname))
|
||||
+os.chmod(args.output, 0o755)
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 72c3997e2..346c423d4 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
|
||||
option('memory-alignment', type: 'combo',
|
||||
choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
|
||||
value: 'malloc')
|
||||
+option('installed-tests', type : 'boolean', value : false, description : 'enable installed tests')
|
||||
+option('test-files-path', type : 'string', description : 'Path where to find test files')
|
||||
|
||||
# Feature options
|
||||
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index a617cf159..e629131c5 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false)
|
||||
]
|
||||
endif
|
||||
|
||||
+test_files_path = get_option('test-files-path')
|
||||
+if test_files_path == ''
|
||||
+ test_files_path = meson.current_source_dir() + '/../files'
|
||||
+endif
|
||||
+message('Using path "@0@" as the path to read test files from'.format(test_files_path))
|
||||
+
|
||||
test_defines = [
|
||||
'-UG_DISABLE_ASSERT',
|
||||
'-UG_DISABLE_CAST_CHECKS',
|
||||
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
|
||||
- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
|
||||
+ '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'),
|
||||
'-DGST_DISABLE_DEPRECATED',
|
||||
]
|
||||
|
||||
@@ -138,6 +144,14 @@ endif
|
||||
glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
|
||||
gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
|
||||
|
||||
+installed_tests_datadir = join_paths(prefix, get_option('datadir'), 'installed-tests', 'gstreamer-1.0')
|
||||
+installed_tests_execdir = join_paths(prefix, libexecdir, 'installed-tests', 'gstreamer-1.0')
|
||||
+installed_tests_enabled = get_option('installed-tests')
|
||||
+
|
||||
+python = import('python').find_installation()
|
||||
+gen_installed_test_desc = files('../../build-aux/gen-installed-test-desc.py')
|
||||
+gen_installed_test_shscript = files('../../build-aux/gen-installed-test-shscript.py')
|
||||
+
|
||||
foreach t : core_tests
|
||||
fname = t[0]
|
||||
test_name = fname.split('.')[0].underscorify()
|
||||
@@ -151,8 +165,38 @@ foreach t : core_tests
|
||||
include_directories : [configinc],
|
||||
link_with : link_with_libs,
|
||||
dependencies : test_deps + glib_deps + gst_deps,
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ install: installed_tests_enabled
|
||||
)
|
||||
|
||||
+ if installed_tests_enabled
|
||||
+ installed_test_shscript = test_name + '.sh'
|
||||
+ shscript = custom_target (test_name + '_shscript',
|
||||
+ output: installed_test_shscript,
|
||||
+ command: [
|
||||
+ python,
|
||||
+ gen_installed_test_shscript,
|
||||
+ '--test-execdir=@0@'.format(installed_tests_execdir),
|
||||
+ '--testname=@0@'.format(test_name),
|
||||
+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_shscript)),
|
||||
+ ],
|
||||
+ install: true,
|
||||
+ install_dir: installed_tests_execdir)
|
||||
+
|
||||
+ installed_test_desc = test_name + '.test'
|
||||
+ data = custom_target(test_name + '_desc',
|
||||
+ output: installed_test_desc,
|
||||
+ command: [
|
||||
+ python,
|
||||
+ gen_installed_test_desc,
|
||||
+ '--test-execdir=@0@'.format(installed_tests_execdir),
|
||||
+ '--testname=@0@'.format(installed_test_shscript),
|
||||
+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_desc)),
|
||||
+ ],
|
||||
+ install: true,
|
||||
+ install_dir: installed_tests_datadir)
|
||||
+ endif
|
||||
+
|
||||
env = environment()
|
||||
env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
|
||||
env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
||||
diff --git a/tests/files/testfile b/tests/files/testfile
|
||||
new file mode 100644
|
||||
index 000000000..89954e0e2
|
||||
--- /dev/null
|
||||
+++ b/tests/files/testfile
|
||||
@@ -0,0 +1,80 @@
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
+................................................................................
|
||||
|
|
@ -1,3 +1,10 @@
|
|||
# This recipe is for the i.MX fork of gstreamer1.0. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 633739bc912cf84c78f5ae0f7fbcb41663a05c7f
|
||||
|
||||
SUMMARY = "GStreamer 1.0 multimedia framework"
|
||||
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
|
||||
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
|
||||
|
|
@ -6,25 +13,22 @@ BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
|||
SECTION = "multimedia"
|
||||
LICENSE = "LGPLv2+"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
|
||||
DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
|
||||
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
|
||||
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
|
||||
|
||||
# Use i.MX fork of GST for customizations
|
||||
GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.00_2012_L5.10.y"
|
||||
S = "${WORKDIR}/gstreamer-${PV}"
|
||||
|
||||
SRC_URI = " \
|
||||
${GST1.0_SRC};branch=${SRCBRANCH} \
|
||||
"
|
||||
SRCREV = "2f20fd10eaf8629b3e8c134424c38412c4d3bd86"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
|
||||
file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
|
||||
file://0002-Remove-unused-valgrind-detection.patch \
|
||||
file://0003-meson-Add-option-for-installed-tests.patch \
|
||||
file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
||||
check \
|
||||
|
|
@ -33,14 +37,14 @@ PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
|||
|
||||
PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
|
||||
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
|
||||
PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
|
||||
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
|
||||
#PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
|
||||
#PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
|
||||
PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
|
||||
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
|
||||
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
|
||||
PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
|
||||
#PACKAGECONFIG[setcap] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native"
|
||||
PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch
|
||||
def gettext_oemeson(d):
|
||||
|
|
@ -52,17 +56,12 @@ def gettext_oemeson(d):
|
|||
return '-Dnls=enabled'
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Ddbghelp=disabled \
|
||||
-Dgtk_doc=disabled \
|
||||
-Dtests=disabled \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
GTKDOC_MESON_ENABLE_FLAG = "enabled"
|
||||
GTKDOC_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
|
|
@ -72,8 +71,27 @@ PACKAGES += "${PN}-bash-completion"
|
|||
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
|
||||
FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
|
||||
FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb ${datadir}/glib-2.0/gdb"
|
||||
FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
|
||||
|
||||
CVE_PRODUCT = "gstreamer"
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# Use i.MX fork of GST for customizations
|
||||
SRC_URI_remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
|
||||
GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.03_2110_L5.10.y"
|
||||
SRC_URI_prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
|
||||
SRCREV = "a55998c70940bd183d25d29e1b82fd3bc9f43df3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# Copyright (C) 2014,2016 Freescale Semiconductor
|
||||
# Copyright 2017-2019 NXP
|
||||
# Copyright 2017-2021 NXP
|
||||
# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
|
|
@ -10,6 +10,7 @@ SECTION = "multimedia"
|
|||
DEPENDS = "imx-codec imx-parser libdrm gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
DEPENDS_append_mx6 = " imx-lib"
|
||||
DEPENDS_append_mx7 = " imx-lib"
|
||||
DEPENDS_append_mx8ulp = " imx-lib"
|
||||
DEPENDS_append_imxvpu = " imx-vpuwrap"
|
||||
|
||||
# For backwards compatibility
|
||||
|
|
@ -21,11 +22,11 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
|
|||
file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.06.00_2012_L5.10.y"
|
||||
SRCBRANCH = "MM_04.06.03_2110_L5.10.y"
|
||||
|
||||
SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH} \
|
||||
"
|
||||
SRCREV = "701041b684a5e544d1e05dc1a197d1f7b2755ffe"
|
||||
SRCREV = "9f7bae2a59c06480e4bbf4b8f84718811b9eb812"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
@ -50,6 +51,10 @@ PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN
|
|||
# Add codec list that the beep plugin run-time depended
|
||||
BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
|
||||
RDEPENDS_${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
|
||||
RDEPENDS_${PN}_append_mx8qm = " imx-dsp"
|
||||
RDEPENDS_${PN}_append_mx8qxp = " imx-dsp"
|
||||
RDEPENDS_${PN}_append_mx8mp = " imx-dsp"
|
||||
RDEPENDS_${PN}_append_mx8ulp = " imx-dsp"
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
|
||||
|
|
@ -75,6 +80,3 @@ FILES_${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
|
|||
FILES_${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
|
||||
|
||||
# Add restriction to ABM
|
||||
COMPATIBLE_HOST = '(aarch64|arm).*-linux'
|
||||
Loading…
Reference in New Issue