mirror of
git://git.yoctoproject.org/meta-freescale.git
synced 2025-10-22 14:52:19 +02:00
gstreamer: Upgrade 1.20.3.imx -> 1.22.0.imx
Note, this commit does also complete the 'snapshot' model being used by including the .inc files. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
This commit is contained in:
parent
2bccb1fce3
commit
af8bc52e02
|
@ -478,18 +478,23 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin"
|
|||
MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin"
|
||||
MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
|
||||
|
||||
PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-omx:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.20.3.imx"
|
||||
PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
|
||||
# GStreamer forked recipes
|
||||
PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
|
||||
# GStreamer copied recipes
|
||||
PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-omx:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.22.0.imx"
|
||||
|
||||
# GStreamer downgrade ffmpeg
|
||||
PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
|
||||
|
||||
# Determines if the SoC has support for Vivante kernel driver
|
||||
SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0"
|
||||
|
|
|
@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@ge
|
|||
file://0001-connect-has-a-different-signature-on-musl.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "bbbd45ead703367ea8f4be9b3c082d7b62bef47b240a39083f27844e28758c47"
|
||||
SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195"
|
||||
|
||||
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
RRECOMMENDS:${PN} = "git"
|
|
@ -1,86 +0,0 @@
|
|||
From 78a97c1ec35ada76d83fc67d0549ba56c74d8875 Mon Sep 17 00:00:00 2001
|
||||
From: Seungha Yang <seungha@centricular.com>
|
||||
Date: Thu, 7 Jul 2022 22:16:30 +0900
|
||||
Subject: [PATCH] libav: Fix for APNG encoder property registration
|
||||
|
||||
The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
|
||||
and it will be converted to "-a-png" through
|
||||
g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
|
||||
character for a GType name. Strip leading '-' to workaround it.
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724]
|
||||
|
||||
Seungha Yangs patch was imported without modifications.
|
||||
|
||||
Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
|
||||
---
|
||||
ext/libav/gstavcfg.c | 29 +++++++++++++++++++++++------
|
||||
1 file changed, 23 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c
|
||||
index c736920..a8635a7 100644
|
||||
--- a/ext/libav/gstavcfg.c
|
||||
+++ b/ext/libav/gstavcfg.c
|
||||
@@ -91,10 +91,19 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
|
||||
gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
|
||||
gchar *enum_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
|
||||
gboolean none_default = TRUE;
|
||||
+ const gchar *enum_name_strip;
|
||||
|
||||
g_strcanon (enum_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
|
||||
|
||||
- if ((res = g_type_from_name (enum_name)))
|
||||
+ /* strip leading '-'s */
|
||||
+ enum_name_strip = enum_name;
|
||||
+ while (enum_name_strip[0] == '-')
|
||||
+ enum_name_strip++;
|
||||
+
|
||||
+ if (enum_name_strip[0] == '\0')
|
||||
+ goto done;
|
||||
+
|
||||
+ if ((res = g_type_from_name (enum_name_strip)))
|
||||
goto done;
|
||||
|
||||
while ((opt = av_opt_next (obj, opt))) {
|
||||
@@ -150,9 +159,8 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
|
||||
}
|
||||
}
|
||||
|
||||
- res =
|
||||
- g_enum_register_static (enum_name, &g_array_index (values, GEnumValue,
|
||||
- 0));
|
||||
+ res = g_enum_register_static (enum_name_strip,
|
||||
+ &g_array_index (values, GEnumValue, 0));
|
||||
|
||||
gst_type_mark_as_plugin_api (res, 0);
|
||||
}
|
||||
@@ -177,10 +185,19 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
|
||||
GArray *values = g_array_new (TRUE, TRUE, sizeof (GEnumValue));
|
||||
gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
|
||||
gchar *flags_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
|
||||
+ const gchar *flags_name_strip;
|
||||
|
||||
g_strcanon (flags_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
|
||||
|
||||
- if ((res = g_type_from_name (flags_name)))
|
||||
+ /* strip leading '-'s */
|
||||
+ flags_name_strip = flags_name;
|
||||
+ while (flags_name_strip[0] == '-')
|
||||
+ flags_name_strip++;
|
||||
+
|
||||
+ if (flags_name_strip[0] == '\0')
|
||||
+ goto done;
|
||||
+
|
||||
+ if ((res = g_type_from_name (flags_name_strip)))
|
||||
goto done;
|
||||
|
||||
while ((opt = av_opt_next (obj, opt))) {
|
||||
@@ -211,7 +228,7 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
|
||||
g_array_sort (values, (GCompareFunc) cmp_flags_value);
|
||||
|
||||
res =
|
||||
- g_flags_register_static (flags_name, &g_array_index (values,
|
||||
+ g_flags_register_static (flags_name_strip, &g_array_index (values,
|
||||
GFlagsValue, 0));
|
||||
|
||||
gst_type_mark_as_plugin_api (res, 0);
|
|
@ -0,0 +1,49 @@
|
|||
From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
|
||||
From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
|
||||
Date: Mon, 13 Feb 2023 17:02:01 -0500
|
||||
Subject: [PATCH] avviddec: change
|
||||
AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
|
||||
|
||||
This fixes a compile error with recent upstream FFmpeg.
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
|
||||
AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
|
||||
7d09579190de (lavc 58.132.100).
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
|
||||
commit 10c9a0874cb3 (lavc 59.63.100).
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
---
|
||||
ext/libav/gstavviddec.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
|
||||
index 43cea456ae8..6d7c4cd0de8 100644
|
||||
--- a/ext/libav/gstavviddec.c
|
||||
+++ b/ext/libav/gstavviddec.c
|
||||
@@ -35,6 +35,10 @@
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
|
||||
+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
|
||||
+#endif
|
||||
+
|
||||
#define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
|
||||
|
||||
#define MAX_TS_MASK 0xff
|
||||
@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
|
||||
if (ffmpegdec->max_threads == 0) {
|
||||
/* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
|
||||
* to one frame per thread. We thus need to calculate the thread count ourselves */
|
||||
- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
|
||||
+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
|
||||
(ffmpegdec->context->thread_type & FF_THREAD_FRAME))
|
||||
ffmpegdec->context->thread_count =
|
||||
MIN (gst_ffmpeg_auto_max_threads (), 16);
|
||||
--
|
||||
GitLab
|
|
@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
|
|||
"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz \
|
||||
file://0001-libav-Fix-for-APNG-encoder-property-registration.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "3fedd10560fcdfaa1b6462cbf79a38c4e7b57d7f390359393fc0cef6dbf27dfe"
|
||||
file://ffmpeg-6.0.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1"
|
||||
|
||||
S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
|
||||
|
||||
|
@ -33,9 +33,4 @@ def get_gst_ver(v):
|
|||
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
|
||||
# These recipes are copies of oe-core 1.20.3 that are not available
|
||||
# anymore upstream on the master branch.
|
||||
# The requirement to have them is because they are dependencies of
|
||||
# the other ones imx specific gstreamer forks on the layer.
|
||||
# So make their names maching the exisng ones will make it more safe.
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
|
@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
|
|||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "8db48040bb41f09edf8d17ff6d16c54888d7777ba4501c2c69f0083350ea9a15"
|
||||
SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341"
|
||||
|
||||
S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}"
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
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
|
||||
|
|
@ -3,10 +3,10 @@
|
|||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
|
||||
# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
|
@ -15,11 +15,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
|
|||
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] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848"
|
||||
SRC_URI[sha256sum] = "3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-bad-${PV}"
|
||||
|
||||
|
@ -43,6 +41,7 @@ PACKAGECONFIG ??= " \
|
|||
|
||||
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
|
||||
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
|
||||
PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
|
||||
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
|
||||
|
@ -90,6 +89,8 @@ 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"
|
||||
# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of
|
||||
# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs
|
||||
PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
|
||||
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
|
||||
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
|
||||
|
@ -118,7 +119,6 @@ EXTRA_OEMESON += " \
|
|||
-Dandroidmedia=disabled \
|
||||
-Dapplemedia=disabled \
|
||||
-Dasio=disabled \
|
||||
-Davtp=disabled \
|
||||
-Dbs2b=disabled \
|
||||
-Dchromaprint=disabled \
|
||||
-Dd3dvideosink=disabled \
|
||||
|
@ -160,6 +160,7 @@ EXTRA_OEMESON += " \
|
|||
-Dwpe=disabled \
|
||||
-Dzxing=disabled \
|
||||
"
|
||||
|
||||
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
|
||||
|
||||
ARM_INSTRUCTION_SET:armv4 = "arm"
|
||||
|
@ -170,6 +171,7 @@ 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"
|
||||
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
@ -180,15 +182,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
|
|||
|
||||
DEPENDS:append:imxgpu2d = " virtual/libg2d"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
|
||||
file://0005-msdk-fix-includedir-path.patch \
|
||||
"
|
||||
SRC_URI:remove = "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"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.07.03_2301_L6.1.y"
|
||||
SRCREV = "6db7bca26b81468b647b680d7ef67b1b8b938b00"
|
||||
SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
|
||||
SRCREV = "3c2f0b5794e699437964f2c337463f57b1e17f51"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From 98b5411642ffac9d895de968748102c2c6d18cb4 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 1 Feb 2023 14:29:49 -0800
|
||||
Subject: [PATCH] Fix types to match callback functions
|
||||
|
||||
Fixes build errors seen with gcc13
|
||||
|
||||
| ../git/gst-libs/gst/gl/gstglphymemory.c:312:25: error: incompatible function pointer types assigning to 'GDestroyNotify' (aka 'void (*)(void *)') from 'void (GstMemory *)' (aka 'void (struct _GstMemory *)') [-Win
|
||||
compatible-function-pointer-types]
|
||||
| params->parent.notify = gst_gl_phy_mem_destroy;
|
||||
| ^ ~~~~~~~~~~~~~~~~~~~~~~
|
||||
| ../git/gst-libs/gst/gl/gstglphymemory.c:340:5: warning: cast to smaller integer type 'guint' (aka 'unsigned int') from 'guint8 *' (aka 'unsigned char *') [-Wpointer-to-int-cast]
|
||||
| (guint)memblk->paddr,
|
||||
| ^~~~~~~~~~~~~~~~~~~~
|
||||
| ../git/gst-libs/gst/gl/gstglphymemory.c:345:7: error: incompatible function pointer types passing 'void (GstGLContext *, DirectVIVData *)' (aka 'void (struct _GstGLContext *, DirectVIVData *)') to parameter of ty
|
||||
pe 'GstGLContextThreadFunc' (aka 'void (*)(struct _GstGLContext *, void *)') [-Wincompatible-function-pointer-types]
|
||||
| _do_viv_direct_tex_bind_mem, &directvivdata);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-base/pull/1]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gst-libs/gst/gl/gstglphymemory.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/gl/gstglphymemory.c b/gst-libs/gst/gl/gstglphymemory.c
|
||||
index d82c9a66a..0a191f1a5 100644
|
||||
--- a/gst-libs/gst/gl/gstglphymemory.c
|
||||
+++ b/gst-libs/gst/gl/gstglphymemory.c
|
||||
@@ -163,9 +163,10 @@ _finish_texture (GstGLContext * ctx, gpointer * data)
|
||||
}
|
||||
|
||||
static void
|
||||
-_do_viv_direct_tex_bind_mem (GstGLContext * ctx, DirectVIVData * data)
|
||||
+_do_viv_direct_tex_bind_mem (GstGLContext * ctx, void * data_in)
|
||||
{
|
||||
GstGLFuncs *gl = ctx->gl_vtable;
|
||||
+ DirectVIVData *data = (DirectVIVData*) data_in;
|
||||
|
||||
GST_DEBUG ("viv direct bind, tex_id %d, fmt: %d, res: (%dx%d)", data->tex_id,
|
||||
data->fmt, data->w, data->h);
|
||||
@@ -211,7 +212,7 @@ _directviv_video_format_to_gl_format (GstVideoFormat format)
|
||||
}
|
||||
|
||||
static void
|
||||
-gst_gl_phy_mem_destroy (GstMemory * mem)
|
||||
+gst_gl_phy_mem_destroy (void * mem)
|
||||
{
|
||||
gst_memory_unref (mem);
|
||||
}
|
||||
--
|
||||
2.39.1
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
From 071fd005ad6572767d7441c97549b1c904719944 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 12 Sep 2022 20:29:25 -0700
|
||||
Subject: [PATCH] gstallocatorphymem.c: Typecast result of gst_phymem_get_phy
|
||||
to guintptr
|
||||
|
||||
This fixes a warning/error found with clang-15
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gst-libs/gst/allocators/gstallocatorphymem.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/gst-libs/gst/allocators/gstallocatorphymem.c
|
||||
+++ b/gst-libs/gst/allocators/gstallocatorphymem.c
|
||||
@@ -225,7 +225,7 @@ static guintptr
|
||||
gst_allocator_phymem_get_phys_addr (GstPhysMemoryAllocator * allocator,
|
||||
GstMemory * mem)
|
||||
{
|
||||
- return gst_phymem_get_phy (mem);
|
||||
+ return (guintptr)gst_phymem_get_phy (mem);
|
||||
}
|
||||
|
||||
static void
|
||||
--- a/gst-libs/gst/gl/gstglphymemory.c
|
||||
+++ b/gst-libs/gst/gl/gstglphymemory.c
|
||||
@@ -337,7 +337,7 @@ gst_gl_physical_memory_setup_buffer (Gst
|
||||
GST_VIDEO_INFO_HEIGHT (info),
|
||||
viv_fmt,
|
||||
memblk->vaddr,
|
||||
- memblk->paddr,
|
||||
+ (guint)memblk->paddr,
|
||||
FALSE
|
||||
};
|
||||
|
||||
--- a/gst/subparse/gstssaparse.c
|
||||
+++ b/gst/subparse/gstssaparse.c
|
||||
@@ -24,7 +24,9 @@
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <ctype.h> /* isspace() */
|
||||
#include <stdlib.h> /* atoi() */
|
||||
+#include <stdio.h> /* sscanf() */
|
||||
#include <string.h>
|
||||
|
||||
#include "gstssaparse.h"
|
|
@ -3,9 +3,9 @@
|
|||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
|
||||
# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
|
@ -18,7 +18,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
|
|||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204"
|
||||
SRC_URI[sha256sum] = "f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-base-${PV}"
|
||||
|
||||
|
@ -26,8 +26,6 @@ DEPENDS += "iso-codes util-linux zlib"
|
|||
|
||||
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', '', d)}"
|
||||
|
@ -55,6 +53,8 @@ PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
|
|||
PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
|
||||
PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
|
||||
PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
|
||||
# This enables Qt5 QML examples in -base. The Qt5 GStreamer
|
||||
# qmlglsink and qmlglsrc plugins still exist in -good.
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
|
||||
PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
|
||||
PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
|
||||
|
@ -114,11 +114,9 @@ SRC_URI:remove = " \
|
|||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
|
||||
SRC_URI += "file://0001-Fix-types-to-match-callback-functions.patch"
|
||||
SRC_URI += "file://0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch"
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.07.03_2301_L6.1.y"
|
||||
SRCREV = "fad4d243e030452b26dfbb2eb0f4d94befa4b9eb"
|
||||
SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
|
||||
SRCREV = "aaaf7df211523b1835659ae85c510e5615d451d7"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
@ -144,12 +142,6 @@ EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
|
|||
# gcompat will address it during runtime
|
||||
LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
|
||||
|
||||
# Remove this meta package when moving to gstreamer 1.22+, this is for making
|
||||
# gst packagegroups from master work with gstreamer 1.20.3.imx
|
||||
PACKAGES += "${PN}-videoconvertscale"
|
||||
ALLOW_EMPTY:${PN}-videoconvertscale = "1"
|
||||
RDEPENDS:${PN}-videoconvertscale = "${PN}-videoconvert ${PN}-videoscale"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
47
recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
Normal file
47
recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
Normal file
|
@ -0,0 +1,47 @@
|
|||
# This .inc file contains the common setup for the gstreamer1.0-plugins-*
|
||||
# plugin set recipes.
|
||||
|
||||
# SUMMARY is set in the actual .bb recipes
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||
SECTION = "multimedia"
|
||||
|
||||
DEPENDS = "gstreamer1.0 glib-2.0-native"
|
||||
|
||||
inherit gettext meson pkgconfig upstream-version-is-even
|
||||
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# Orc enables runtime JIT compilation of data processing routines from Orc
|
||||
# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
|
||||
# MIPS, Altivec and NEON are supported).
|
||||
# This value is used in the PACKAGECONFIG values for each plugin set recipe.
|
||||
# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
|
||||
GSTREAMER_ORC ?= "orc"
|
||||
# workaround to disable orc on mips to fix the build failure
|
||||
# {standard input}: Assembler messages:
|
||||
# {standard input}:46587: Error: branch out of range
|
||||
GSTREAMER_ORC:mips = ""
|
||||
PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch (with variables to allow for
|
||||
# configuring the option name and the enabled/disabled values).
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
# Not all plugin sets contain examples, so the -Dexamples
|
||||
# option needs to be added conditionally.
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
|
@ -1,32 +0,0 @@
|
|||
From 50c821e3578e3e0892574d88ef7edb25d60ae50a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 12 Mar 2023 19:39:46 -0700
|
||||
Subject: [PATCH] Add prototype declaration for gst_v4l2_object_streamoff
|
||||
|
||||
Fixes build with latest compilers e.g. clang-16
|
||||
|
||||
../git/sys/v4l2/gstv4l2videodec.c:354:10: error: call to undeclared function 'gst_v4l2_object_streamoff'; ISO C99 and later do not support implicit function declarations [ -Wimplicit-function-declaration]
|
||||
if (!gst_v4l2_object_streamoff (self->v4l2capture))
|
||||
^
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/1]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
sys/v4l2/gstv4l2object.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h
|
||||
index 685086902..c84dc1724 100644
|
||||
--- a/sys/v4l2/gstv4l2object.h
|
||||
+++ b/sys/v4l2/gstv4l2object.h
|
||||
@@ -323,6 +323,7 @@ GstStructure * gst_v4l2_object_v4l2fourcc_to_structure (guint32 fourcc);
|
||||
|
||||
/* crop / compose */
|
||||
gboolean gst_v4l2_object_set_crop (GstV4l2Object * obj, struct v4l2_rect *result);
|
||||
+gboolean gst_v4l2_object_streamoff (GstV4l2Object * v4l2object);
|
||||
|
||||
/* TODO Move to proper namespace */
|
||||
/* open/close the device */
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
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,32 +0,0 @@
|
|||
From dc5d752ec3fbec10402aa60fa8245e384e0c7206 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 7 Jun 2023 22:53:47 -0700
|
||||
Subject: [PATCH] v4l2: Include gst/allocators/gstdmabuf.h for
|
||||
gst_is_dmabuf_memory()
|
||||
|
||||
This is flagged by clang-16
|
||||
../git/sys/v4l2/gstv4l2videoenc.c:756:9: error: call to undeclared function 'gst_is_dmabuf_memory'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
|
||||
if (gst_is_dmabuf_memory (gst_buffer_peek_memory (frame->input_buffer, 0))
|
||||
^
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/2]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
sys/v4l2/gstv4l2videoenc.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sys/v4l2/gstv4l2videoenc.c b/sys/v4l2/gstv4l2videoenc.c
|
||||
index a505a228f..f24d5a795 100644
|
||||
--- a/sys/v4l2/gstv4l2videoenc.c
|
||||
+++ b/sys/v4l2/gstv4l2videoenc.c
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <gst/gst-i18n-plugin.h>
|
||||
+#include <gst/allocators/gstdmabuf.h>
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_v4l2_video_enc_debug);
|
||||
#define GST_CAT_DEFAULT gst_v4l2_video_enc_debug
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -3,9 +3,9 @@
|
|||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 66ba273c10b7d738f18620b5a2883d735fff3162
|
||||
# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
DESCRIPTION = "'Good' GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
|
@ -13,10 +13,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues
|
|||
|
||||
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://0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7"
|
||||
SRC_URI[sha256sum] = "582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-good-${PV}"
|
||||
|
||||
|
@ -27,12 +26,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
|||
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
|
||||
RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
|
||||
RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
|
||||
RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}"
|
||||
|
||||
PACKAGECONFIG_SOUP ?= "soup3"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_SOUP} \
|
||||
${@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 \
|
||||
bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
|
||||
"
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
|
||||
|
@ -57,12 +60,8 @@ PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
|
|||
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}"
|
||||
# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
|
||||
# instead of linking to it. And instead of using the default libsoup C headers, it
|
||||
# uses its own stub header. Consequently, objdump will not show the libsoup .so as
|
||||
# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
|
||||
# as RDEPEND instead of DEPEND.
|
||||
PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
|
||||
PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
|
||||
PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2"
|
||||
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
|
||||
PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
|
||||
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
|
||||
|
@ -102,14 +101,13 @@ LIC_FILES_CHKSUM = " \
|
|||
# fb implementation of v4l2 uses libdrm
|
||||
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
|
||||
DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
|
||||
RDEPENDS:${PN}-soup += "${@bb.utils.contains('PACKAGECONFIG', 'soup', 'libsoup-2.4', '', d)}"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz"
|
||||
SRC_URI:remove = "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"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
|
||||
SRC_URI += "file://0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch"
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.07.03_2301_L6.1.y"
|
||||
SRCREV = "5de04382c1c73e7b6d3c448a8902f358784d4567"
|
||||
SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
|
||||
SRCREV = "84704602fe5d6d5012085e63fa8a7232af13c9b7"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
@ -60,7 +60,7 @@ PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-so
|
|||
PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
|
||||
PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
|
||||
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# the following line is required to produce one package for each plugin
|
||||
PACKAGES_DYNAMIC = "^${PN}-.*"
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# This .inc file contains functionality for automatically setting
|
||||
# the the license of all plugins according to the GSTREAMER_GPL.
|
||||
|
||||
PACKAGESPLITFUNCS += "set_gstreamer_license"
|
||||
|
||||
python set_gstreamer_license () {
|
||||
import oe.utils
|
||||
pn = d.getVar('PN') + '-'
|
||||
gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg in gpl_plugins_names:
|
||||
d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
|
||||
else:
|
||||
d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
|
||||
}
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
|
||||
"
|
|
@ -0,0 +1,73 @@
|
|||
# This .inc file contains functionality for automatically splitting
|
||||
# built plugins into individual packages for each plugin. A -meta
|
||||
# package is also set up that has no files of its own, but contains
|
||||
# the names of all plugin packages in its RDEPENDS list.
|
||||
#
|
||||
# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
|
||||
# but can be used in any recipe that produces GStreamer plugins.
|
||||
|
||||
# Dynamically generate packages for all enabled plugins
|
||||
PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
|
||||
|
||||
PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
|
||||
PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
|
||||
|
||||
python split_gstreamer10_packages () {
|
||||
gst_libdir = d.expand('${libdir}/gstreamer-1.0')
|
||||
postinst = d.getVar('plugin_postinst')
|
||||
glibdir = d.getVar('libdir')
|
||||
|
||||
# GStreamer libraries
|
||||
do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
|
||||
# GStreamer plugin shared objects
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
|
||||
# GObject introspection files for GStreamer plugins
|
||||
do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
|
||||
# Static GStreamer libraries for development
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
|
||||
}
|
||||
|
||||
python set_gstreamer10_metapkg_rdepends () {
|
||||
import os
|
||||
import oe.utils
|
||||
|
||||
# Go through all generated packages (excluding the main package and
|
||||
# the -meta package itself) and add them to the -meta package as RDEPENDS.
|
||||
|
||||
pn = d.getVar('PN')
|
||||
metapkg = pn + '-meta'
|
||||
d.setVar('ALLOW_EMPTY:' + metapkg, "1")
|
||||
d.setVar('FILES:' + metapkg, "")
|
||||
exclude = [ pn, pn + '-meta' ]
|
||||
metapkg_rdepends = []
|
||||
pkgdest = d.getVar('PKGDEST')
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg not in exclude and pkg not in metapkg_rdepends:
|
||||
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
|
||||
# If this subdirectory is empty, then the package is.
|
||||
# Empty packages do not get added to the meta package's RDEPENDS
|
||||
pkgdir = os.path.join(pkgdest, pkg)
|
||||
if os.path.exists(pkgdir):
|
||||
dir_contents = os.listdir(pkgdir) or []
|
||||
else:
|
||||
dir_contents = []
|
||||
is_empty = len(dir_contents) == 0
|
||||
if not is_empty:
|
||||
metapkg_rdepends.append(pkg)
|
||||
d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
|
||||
d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
|
||||
}
|
||||
|
||||
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
|
||||
# so we need them even when empty (like in gst-plugins-good case)
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
ALLOW_EMPTY:${PN}-dev = "1"
|
||||
ALLOW_EMPTY:${PN}-staticdev = "1"
|
||||
|
||||
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
|
||||
|
||||
FILES:${PN} = ""
|
||||
FILES:${PN}-apps = "${bindir}"
|
||||
FILES:${PN}-glib = "${datadir}/glib-2.0"
|
||||
|
||||
RRECOMMENDS:${PN} += "${PN}-meta"
|
|
@ -1,12 +1,12 @@
|
|||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
DESCRIPTION = "'Ugly GStreamer plugins"
|
||||
SUMMARY = "'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 = "LGPL-2.1-or-later & GPL-2.0-or-later"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
|
@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial"
|
|||
SRC_URI = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
|
||||
"
|
||||
SRC_URI[sha256sum] = "8caa20789a09c304b49cf563d33cca9421b1875b84fcc187e4a385fa01d6aefd"
|
||||
SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
|
||||
|
||||
|
@ -49,9 +49,4 @@ def get_gst_ver(v):
|
|||
FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
|
||||
FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
|
||||
|
||||
# These recipes are copies of oe-core 1.20.3 that are not available
|
||||
# anymore upstream on the master branch.
|
||||
# The requirement to have them is because they are dependencies of
|
||||
# the other ones imx specific gstreamer forks on the layer.
|
||||
# So make their names maching the exisng ones will make it more safe.
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
|
@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
|
|||
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz"
|
||||
SRC_URI[sha256sum] = "db348120eae955b8cc4de3560a7ea06e36d6e1ddbaa99a7ad96b59846601cfdc"
|
||||
SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
||||
RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
|
@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server"
|
|||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "ee402718be9b127f0e5e66ca4c1b4f42e4926ec93ba307b7ccca5dc6cc9794ca"
|
||||
SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
|
||||
|
||||
|
@ -30,13 +30,8 @@ def get_gst_ver(v):
|
|||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
|
||||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
CVE_PRODUCT += "gst-rtsp-server"
|
||||
|
||||
# These recipes are copies of oe-core 1.20.3 that are not available
|
||||
# anymore upstream on the master branch.
|
||||
# The requirement to have them is because they are dependencies of
|
||||
# the other ones imx specific gstreamer forks on the layer.
|
||||
# So make their names maching the exisng ones will make it more safe.
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
|
@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
|
|||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "6ee99eb316abdde9ad37002915bd8c3867918f6fdc74b7cf2ac4c1ae0d690b45"
|
||||
SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5"
|
||||
|
||||
S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
|
||||
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
|
@ -32,24 +32,28 @@ def get_gst_ver(v):
|
|||
|
||||
PACKAGES =+ "${PN}-tests"
|
||||
|
||||
# OpenGL packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to pick either glx, egl, or no GL. By default,
|
||||
# try detecting X11 first, and if found (with OpenGL), use GLX,
|
||||
# otherwise try to check if EGL can be used.
|
||||
# Use egl for i.MX
|
||||
PACKAGECONFIG_GL ?= "egl"
|
||||
|
||||
PACKAGECONFIG ??= "drm encoders \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
|
||||
|
||||
PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm"
|
||||
PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl"
|
||||
PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no"
|
||||
PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
|
||||
PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
|
||||
PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
|
||||
PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
|
||||
PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
|
||||
PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
|
||||
PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
|
||||
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-*/*.so"
|
||||
FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
|
||||
FILES:${PN}-tests = "${bindir}/*"
|
||||
|
||||
# correct .pc install location - fixed in upstream trunk
|
||||
do_install:append() {
|
||||
mkdir -p ${D}/${libdir}/pkgconfig
|
||||
mv ${D}/${libdir}/gstreamer-1.0/pkgconfig/*.pc ${D}/${libdir}/pkgconfig
|
||||
rmdir ${D}/${libdir}/gstreamer-1.0/pkgconfig/
|
||||
}
|
|
@ -1,20 +1,21 @@
|
|||
From 1eb77a4ea5a3967c688d8f1192f99c605badc7e2 Mon Sep 17 00:00:00 2001
|
||||
From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH 1/4] tests: respect the idententaion used in meson
|
||||
Subject: [PATCH] tests: respect the idententaion used in meson
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
subprojects/gstreamer/tests/check/meson.build | 10 +++++-----
|
||||
tests/check/meson.build | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
|
||||
index 9c4228b6e4..506606684d 100644
|
||||
--- a/subprojects/gstreamer/tests/check/meson.build
|
||||
+++ b/subprojects/gstreamer/tests/check/meson.build
|
||||
@@ -146,11 +146,11 @@ foreach t : core_tests
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 9787b0a..16caac7 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -145,11 +145,11 @@ foreach t : core_tests
|
||||
|
||||
if not skip_test
|
||||
exe = executable(test_name, fname,
|
||||
|
@ -22,15 +23,12 @@ index 9c4228b6e4..506606684d 100644
|
|||
- cpp_args : gst_c_args + test_defines,
|
||||
- include_directories : [configinc],
|
||||
- link_with : link_with_libs,
|
||||
- dependencies : test_deps + glib_deps + gst_deps,
|
||||
- dependencies : gst_deps + test_deps,
|
||||
+ c_args : gst_c_args + test_defines,
|
||||
+ cpp_args : gst_c_args + test_defines,
|
||||
+ include_directories : [configinc],
|
||||
+ link_with : link_with_libs,
|
||||
+ dependencies : test_deps + glib_deps + gst_deps,
|
||||
+ dependencies : gst_deps + test_deps,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
--
|
||||
2.33.1
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 62f5bb7bfc2498219df7280e73480d8ed2378ce5 Mon Sep 17 00:00:00 2001
|
||||
From 08b1aaff972a7f6349373fc1ad4cc23081adb52c Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH 2/4] tests: add support for install the tests
|
||||
Subject: [PATCH] tests: add support for install the tests
|
||||
|
||||
This will provide to run the tests using the gnome-desktop-testing [1]
|
||||
|
||||
|
@ -10,19 +10,20 @@ This will provide to run the tests using the gnome-desktop-testing [1]
|
|||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
---
|
||||
subprojects/gstreamer/meson.build | 4 ++++
|
||||
subprojects/gstreamer/meson_options.txt | 1 +
|
||||
subprojects/gstreamer/tests/check/meson.build | 22 ++++++++++++++++++-
|
||||
.../gstreamer/tests/check/template.test.in | 3 +++
|
||||
4 files changed, 29 insertions(+), 1 deletion(-)
|
||||
create mode 100644 subprojects/gstreamer/tests/check/template.test.in
|
||||
|
||||
diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build
|
||||
index d20fe0040f..b595d8f990 100644
|
||||
--- a/subprojects/gstreamer/meson.build
|
||||
+++ b/subprojects/gstreamer/meson.build
|
||||
@@ -562,6 +562,10 @@ if bashcomp_dep.found()
|
||||
---
|
||||
meson.build | 4 ++++
|
||||
meson_options.txt | 1 +
|
||||
tests/check/meson.build | 22 +++++++++++++++++++++-
|
||||
tests/check/template.test.in | 3 +++
|
||||
4 files changed, 29 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/check/template.test.in
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f9f591d..3906fb3 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -606,6 +606,10 @@ if bashcomp_dep.found()
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -33,10 +34,10 @@ index d20fe0040f..b595d8f990 100644
|
|||
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
|
||||
|
||||
pkgconfig = import('pkgconfig')
|
||||
diff --git a/subprojects/gstreamer/meson_options.txt b/subprojects/gstreamer/meson_options.txt
|
||||
index 7363bdb7a1..a34ba37dad 100644
|
||||
--- a/subprojects/gstreamer/meson_options.txt
|
||||
+++ b/subprojects/gstreamer/meson_options.txt
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 7363bdb..a34ba37 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -15,6 +15,7 @@ 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'],
|
||||
|
@ -45,10 +46,10 @@ index 7363bdb7a1..a34ba37dad 100644
|
|||
|
||||
# Feature options
|
||||
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
|
||||
diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
|
||||
index 506606684d..00a138a568 100644
|
||||
--- a/subprojects/gstreamer/tests/check/meson.build
|
||||
+++ b/subprojects/gstreamer/tests/check/meson.build
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 16caac7..f2d400f 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -124,10 +124,16 @@ test_defines = [
|
||||
'-UG_DISABLE_ASSERT',
|
||||
'-UG_DISABLE_CAST_CHECKS',
|
||||
|
@ -67,16 +68,16 @@ index 506606684d..00a138a568 100644
|
|||
# sanity checking
|
||||
if get_option('check').disabled()
|
||||
if get_option('tests').enabled()
|
||||
@@ -151,6 +157,8 @@ foreach t : core_tests
|
||||
@@ -150,6 +156,8 @@ foreach t : core_tests
|
||||
include_directories : [configinc],
|
||||
link_with : link_with_libs,
|
||||
dependencies : test_deps + glib_deps + gst_deps,
|
||||
dependencies : gst_deps + test_deps,
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ install: installed_tests_enabled,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
@@ -162,6 +170,18 @@ foreach t : core_tests
|
||||
@@ -161,6 +169,18 @@ foreach t : core_tests
|
||||
env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
||||
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
||||
|
||||
|
@ -95,15 +96,12 @@ index 506606684d..00a138a568 100644
|
|||
test(test_name, exe, env: env, timeout : 3 * 60)
|
||||
endif
|
||||
endforeach
|
||||
diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in
|
||||
diff --git a/tests/check/template.test.in b/tests/check/template.test.in
|
||||
new file mode 100644
|
||||
index 0000000000..f701627f87
|
||||
index 0000000..f701627
|
||||
--- /dev/null
|
||||
+++ b/subprojects/gstreamer/tests/check/template.test.in
|
||||
+++ b/tests/check/template.test.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+[Test]
|
||||
+Type=session
|
||||
+Exec=@installed_tests_dir@/@program@
|
||||
--
|
||||
2.33.1
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
|
||||
# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
|
||||
|
||||
SUMMARY = "GStreamer 1.0 multimedia framework"
|
||||
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
|
||||
|
@ -24,13 +24,12 @@ S = "${WORKDIR}/gstreamer-${PV}"
|
|||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
|
||||
file://run-ptest \
|
||||
file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \
|
||||
file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \
|
||||
file://0001-tests-respect-the-idententaion-used-in-meson.patch \
|
||||
file://0002-tests-add-support-for-install-the-tests.patch \
|
||||
file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
|
||||
file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
|
||||
file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031"
|
||||
SRC_URI[sha256sum] = "78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
||||
check \
|
||||
|
@ -94,8 +93,8 @@ LIC_FILES_CHKSUM = " \
|
|||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
|
||||
SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.07.03_2301_L6.1.y"
|
||||
SRCREV = "e525a482611b2fccbebbc0f9fc32a88a707558fa"
|
||||
SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
|
||||
SRCREV = "e39d4ce54e78cb090cf4e5cd56f431c365c5b0f4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From bda3461b0b6493f3e04910e82e6e530a64af26b1 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Hochstein <tom.hochstein@nxp.com>
|
||||
Date: Mon, 24 Jul 2023 12:09:34 -0700
|
||||
Subject: [PATCH] meson: Undef _TIME_BITS along with _FILE_OFFSET_BITS
|
||||
|
||||
On gcc 13, _TIME_BITS is set to 64 and causes failure with the undef of
|
||||
_FILE_OFFSET_BITS:
|
||||
```
|
||||
/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
|
||||
26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
|
||||
| ^~~~~
|
||||
```
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
||||
---
|
||||
meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 7ec5c70..64b2930 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -24,6 +24,7 @@ gst_dep = dependency('gstreamer-' + api_version, version : gst_req)
|
||||
#meson automaticaly add _FILE_OFFSET_BITS=64 to gcc, this will make ipu test
|
||||
#case fail when do mmap on 6q, autoconf didn't add this define, so undef it
|
||||
add_project_arguments('-U_FILE_OFFSET_BITS', language: 'c')
|
||||
+add_project_arguments('-U_TIME_BITS', language: 'c')
|
||||
|
||||
#below two marcos are defined in autoconf
|
||||
add_project_arguments ('-DARM', language: 'c')
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -22,7 +22,7 @@ RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
|
|||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
PV = "4.7.3+git${SRCPV}"
|
||||
PV = "4.8.0+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch \
|
||||
|
@ -35,9 +35,10 @@ SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=
|
|||
file://0008-beepdec-Declare-beep_register_external_typefinders.patch \
|
||||
file://0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch \
|
||||
file://0010-provide-declaration-for-aiur_register_external_typef.patch \
|
||||
file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \
|
||||
"
|
||||
SRCBRANCH = "MM_04.07.03_2301_L6.1.y"
|
||||
SRCREV = "843215344b62de7a91d5880a4b093cd384c7b567"
|
||||
SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
|
||||
SRCREV = "2df72651dcc0ecff9db7c0a96d59c5ca2b9be9d4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user