summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2023-08-03 10:16:20 -0700
committerTom Hochstein <tom.hochstein@nxp.com>2023-08-03 10:16:20 -0700
commitaf8bc52e026897d379609cc51d33f628583dcfee (patch)
treeb500649674c55f260b8d86caa6a5c747ff92f327 /recipes-multimedia
parent2bccb1fce316b943a4acce350bcc12a69de2b2b9 (diff)
downloadmeta-freescale-af8bc52e026897d379609cc51d33f628583dcfee.tar.gz
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>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch86
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch49
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.imx.bb)11
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb)28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Fix-types-to-match-callback-functions.patch53
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch48
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.imx.bb)22
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb)30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc19
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc73
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.3.imx.bb)15
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.3.imx.bb)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.3.imx.bb)9
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb)26
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch24
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.20.3.imx.bb)13
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch34
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb7
27 files changed, 334 insertions, 472 deletions
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb
index 5daba9d7..4006f3eb 100644
--- a/recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.22.0.imx.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@ge
12 file://0001-connect-has-a-different-signature-on-musl.patch \ 12 file://0001-connect-has-a-different-signature-on-musl.patch \
13 " 13 "
14 14
15SRC_URI[sha256sum] = "bbbd45ead703367ea8f4be9b3c082d7b62bef47b240a39083f27844e28758c47" 15SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195"
16 16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" 17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git" 18RRECOMMENDS:${PN} = "git"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
deleted file mode 100644
index 526bbb00..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
+++ /dev/null
@@ -1,86 +0,0 @@
1From 78a97c1ec35ada76d83fc67d0549ba56c74d8875 Mon Sep 17 00:00:00 2001
2From: Seungha Yang <seungha@centricular.com>
3Date: Thu, 7 Jul 2022 22:16:30 +0900
4Subject: [PATCH] libav: Fix for APNG encoder property registration
5
6The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
7and it will be converted to "-a-png" through
8g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
9character for a GType name. Strip leading '-' to workaround it.
10
11Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724]
12
13Seungha Yangs patch was imported without modifications.
14
15Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
16---
17 ext/libav/gstavcfg.c | 29 +++++++++++++++++++++++------
18 1 file changed, 23 insertions(+), 6 deletions(-)
19
20diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c
21index c736920..a8635a7 100644
22--- a/ext/libav/gstavcfg.c
23+++ b/ext/libav/gstavcfg.c
24@@ -91,10 +91,19 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
25 gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
26 gchar *enum_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
27 gboolean none_default = TRUE;
28+ const gchar *enum_name_strip;
29
30 g_strcanon (enum_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
31
32- if ((res = g_type_from_name (enum_name)))
33+ /* strip leading '-'s */
34+ enum_name_strip = enum_name;
35+ while (enum_name_strip[0] == '-')
36+ enum_name_strip++;
37+
38+ if (enum_name_strip[0] == '\0')
39+ goto done;
40+
41+ if ((res = g_type_from_name (enum_name_strip)))
42 goto done;
43
44 while ((opt = av_opt_next (obj, opt))) {
45@@ -150,9 +159,8 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
46 }
47 }
48
49- res =
50- g_enum_register_static (enum_name, &g_array_index (values, GEnumValue,
51- 0));
52+ res = g_enum_register_static (enum_name_strip,
53+ &g_array_index (values, GEnumValue, 0));
54
55 gst_type_mark_as_plugin_api (res, 0);
56 }
57@@ -177,10 +185,19 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
58 GArray *values = g_array_new (TRUE, TRUE, sizeof (GEnumValue));
59 gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
60 gchar *flags_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
61+ const gchar *flags_name_strip;
62
63 g_strcanon (flags_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
64
65- if ((res = g_type_from_name (flags_name)))
66+ /* strip leading '-'s */
67+ flags_name_strip = flags_name;
68+ while (flags_name_strip[0] == '-')
69+ flags_name_strip++;
70+
71+ if (flags_name_strip[0] == '\0')
72+ goto done;
73+
74+ if ((res = g_type_from_name (flags_name_strip)))
75 goto done;
76
77 while ((opt = av_opt_next (obj, opt))) {
78@@ -211,7 +228,7 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
79 g_array_sort (values, (GCompareFunc) cmp_flags_value);
80
81 res =
82- g_flags_register_static (flags_name, &g_array_index (values,
83+ g_flags_register_static (flags_name_strip, &g_array_index (values,
84 GFlagsValue, 0));
85
86 gst_type_mark_as_plugin_api (res, 0);
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
new file mode 100644
index 00000000..0a06540f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
@@ -0,0 +1,49 @@
1From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
2From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
3Date: Mon, 13 Feb 2023 17:02:01 -0500
4Subject: [PATCH] avviddec: change
5 AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
6
7This fixes a compile error with recent upstream FFmpeg.
8
9The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
10AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
117d09579190de (lavc 58.132.100).
12
13The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
14commit 10c9a0874cb3 (lavc 59.63.100).
15
16Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
17
18Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
19Signed-off-by: Alexander Kanavin <alex@linutronix.de>
20---
21 ext/libav/gstavviddec.c | 6 +++++-
22 1 file changed, 5 insertions(+), 1 deletion(-)
23
24diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
25index 43cea456ae8..6d7c4cd0de8 100644
26--- a/ext/libav/gstavviddec.c
27+++ b/ext/libav/gstavviddec.c
28@@ -35,6 +35,10 @@
29
30 GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
31
32+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
33+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
34+#endif
35+
36 #define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
37
38 #define MAX_TS_MASK 0xff
39@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
40 if (ffmpegdec->max_threads == 0) {
41 /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
42 * to one frame per thread. We thus need to calculate the thread count ourselves */
43- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
44+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
45 (ffmpegdec->context->thread_type & FF_THREAD_FRAME))
46 ffmpegdec->context->thread_count =
47 MIN (gst_ffmpeg_auto_max_threads (), 16);
48--
49GitLab
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
index 5777679d..742004d8 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.imx.bb
@@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
12 " 12 "
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz \
15 file://0001-libav-Fix-for-APNG-encoder-property-registration.patch \ 15 file://ffmpeg-6.0.patch \
16 " 16 "
17SRC_URI[sha256sum] = "3fedd10560fcdfaa1b6462cbf79a38c4e7b57d7f390359393fc0cef6dbf27dfe" 17SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1"
18 18
19S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}" 19S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
20 20
@@ -33,9 +33,4 @@ def get_gst_ver(v):
33FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" 33FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
34FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" 34FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
35 35
36# These recipes are copies of oe-core 1.20.3 that are not available
37# anymore upstream on the master branch.
38# The requirement to have them is because they are dependencies of
39# the other ones imx specific gstreamer forks on the layer.
40# So make their names maching the exisng ones will make it more safe.
41COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 36COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb
index dc1c8ba0..dc4bccd7 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.imx.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz" 11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz"
12 12
13SRC_URI[sha256sum] = "8db48040bb41f09edf8d17ff6d16c54888d7777ba4501c2c69f0083350ea9a15" 13SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341"
14 14
15S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}" 15S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}"
16 16
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
deleted file mode 100644
index 13a673cd..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 26 Jan 2016 15:16:01 -0800
4Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os
5
6Upstream-Status: Pending
7
8Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
9---
10 gst-libs/gst/codecparsers/gstvc1parser.c | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
14index 2c60ced..e8226d8 100644
15--- a/gst-libs/gst/codecparsers/gstvc1parser.c
16+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
17@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
18 GstVC1SeqLayer * seqlayer)
19 {
20 guint32 tmp;
21- guint8 tmp8;
22+ guint8 tmp8 = 0;
23 guint8 structA[8] = { 0, };
24 guint8 structB[12] = { 0, };
25 GstBitReader br;
26--
272.28.0
28
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.imx.bb
index 139107f5..18992571 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.imx.bb
@@ -3,10 +3,10 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 6# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require gstreamer1.0-plugins-common.inc
9require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc 9require gstreamer1.0-plugins-license.inc
10 10
11DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " 11DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
12HOMEPAGE = "https://gstreamer.freedesktop.org/" 12HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -15,11 +15,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
15SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ 15SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
16 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ 16 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
17 file://0002-avoid-including-sys-poll.h-directly.patch \ 17 file://0002-avoid-including-sys-poll.h-directly.patch \
18 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
19 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 18 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
20 file://0005-msdk-fix-includedir-path.patch \
21 " 19 "
22SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848" 20SRC_URI[sha256sum] = "3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1"
23 21
24S = "${WORKDIR}/gst-plugins-bad-${PV}" 22S = "${WORKDIR}/gst-plugins-bad-${PV}"
25 23
@@ -43,6 +41,7 @@ PACKAGECONFIG ??= " \
43 41
44PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" 42PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
45PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" 43PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
44PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
46PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" 45PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
47PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" 46PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
48PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" 47PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
@@ -90,6 +89,8 @@ PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
90PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" 89PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
91PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" 90PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
92PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" 91PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
92# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of
93# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs
93PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" 94PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
94PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" 95PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
95PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" 96PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
@@ -118,7 +119,6 @@ EXTRA_OEMESON += " \
118 -Dandroidmedia=disabled \ 119 -Dandroidmedia=disabled \
119 -Dapplemedia=disabled \ 120 -Dapplemedia=disabled \
120 -Dasio=disabled \ 121 -Dasio=disabled \
121 -Davtp=disabled \
122 -Dbs2b=disabled \ 122 -Dbs2b=disabled \
123 -Dchromaprint=disabled \ 123 -Dchromaprint=disabled \
124 -Dd3dvideosink=disabled \ 124 -Dd3dvideosink=disabled \
@@ -160,6 +160,7 @@ EXTRA_OEMESON += " \
160 -Dwpe=disabled \ 160 -Dwpe=disabled \
161 -Dzxing=disabled \ 161 -Dzxing=disabled \
162" 162"
163
163export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" 164export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
164 165
165ARM_INSTRUCTION_SET:armv4 = "arm" 166ARM_INSTRUCTION_SET:armv4 = "arm"
@@ -170,6 +171,7 @@ FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
170FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" 171FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
171FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" 172FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
172 173
174
173########### End of OE-core copy ########### 175########### End of OE-core copy ###########
174 176
175########### i.MX overrides ################ 177########### i.MX overrides ################
@@ -180,15 +182,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
180 182
181DEPENDS:append:imxgpu2d = " virtual/libg2d" 183DEPENDS:append:imxgpu2d = " virtual/libg2d"
182 184
183SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ 185SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
184 file://0002-avoid-including-sys-poll.h-directly.patch \ 186 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
185 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ 187 file://0002-avoid-including-sys-poll.h-directly.patch"
186 file://0005-msdk-fix-includedir-path.patch \
187 "
188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
189GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" 189GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
190SRCBRANCH = "MM_04.07.03_2301_L6.1.y" 190SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
191SRCREV = "6db7bca26b81468b647b680d7ef67b1b8b938b00" 191SRCREV = "3c2f0b5794e699437964f2c337463f57b1e17f51"
192 192
193S = "${WORKDIR}/git" 193S = "${WORKDIR}/git"
194 194
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Fix-types-to-match-callback-functions.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Fix-types-to-match-callback-functions.patch
deleted file mode 100644
index 378d5e27..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Fix-types-to-match-callback-functions.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From 98b5411642ffac9d895de968748102c2c6d18cb4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 1 Feb 2023 14:29:49 -0800
4Subject: [PATCH] Fix types to match callback functions
5
6Fixes build errors seen with gcc13
7
8| ../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
9compatible-function-pointer-types]
10| params->parent.notify = gst_gl_phy_mem_destroy;
11| ^ ~~~~~~~~~~~~~~~~~~~~~~
12| ../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]
13| (guint)memblk->paddr,
14| ^~~~~~~~~~~~~~~~~~~~
15| ../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
16pe 'GstGLContextThreadFunc' (aka 'void (*)(struct _GstGLContext *, void *)') [-Wincompatible-function-pointer-types]
17| _do_viv_direct_tex_bind_mem, &directvivdata);
18| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
19
20Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-base/pull/1]
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22---
23 gst-libs/gst/gl/gstglphymemory.c | 5 +++--
24 1 file changed, 3 insertions(+), 2 deletions(-)
25
26diff --git a/gst-libs/gst/gl/gstglphymemory.c b/gst-libs/gst/gl/gstglphymemory.c
27index d82c9a66a..0a191f1a5 100644
28--- a/gst-libs/gst/gl/gstglphymemory.c
29+++ b/gst-libs/gst/gl/gstglphymemory.c
30@@ -163,9 +163,10 @@ _finish_texture (GstGLContext * ctx, gpointer * data)
31 }
32
33 static void
34-_do_viv_direct_tex_bind_mem (GstGLContext * ctx, DirectVIVData * data)
35+_do_viv_direct_tex_bind_mem (GstGLContext * ctx, void * data_in)
36 {
37 GstGLFuncs *gl = ctx->gl_vtable;
38+ DirectVIVData *data = (DirectVIVData*) data_in;
39
40 GST_DEBUG ("viv direct bind, tex_id %d, fmt: %d, res: (%dx%d)", data->tex_id,
41 data->fmt, data->w, data->h);
42@@ -211,7 +212,7 @@ _directviv_video_format_to_gl_format (GstVideoFormat format)
43 }
44
45 static void
46-gst_gl_phy_mem_destroy (GstMemory * mem)
47+gst_gl_phy_mem_destroy (void * mem)
48 {
49 gst_memory_unref (mem);
50 }
51--
522.39.1
53
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch
deleted file mode 100644
index 19057147..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From 071fd005ad6572767d7441c97549b1c904719944 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 12 Sep 2022 20:29:25 -0700
4Subject: [PATCH] gstallocatorphymem.c: Typecast result of gst_phymem_get_phy
5 to guintptr
6
7This fixes a warning/error found with clang-15
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 gst-libs/gst/allocators/gstallocatorphymem.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15--- a/gst-libs/gst/allocators/gstallocatorphymem.c
16+++ b/gst-libs/gst/allocators/gstallocatorphymem.c
17@@ -225,7 +225,7 @@ static guintptr
18 gst_allocator_phymem_get_phys_addr (GstPhysMemoryAllocator * allocator,
19 GstMemory * mem)
20 {
21- return gst_phymem_get_phy (mem);
22+ return (guintptr)gst_phymem_get_phy (mem);
23 }
24
25 static void
26--- a/gst-libs/gst/gl/gstglphymemory.c
27+++ b/gst-libs/gst/gl/gstglphymemory.c
28@@ -337,7 +337,7 @@ gst_gl_physical_memory_setup_buffer (Gst
29 GST_VIDEO_INFO_HEIGHT (info),
30 viv_fmt,
31 memblk->vaddr,
32- memblk->paddr,
33+ (guint)memblk->paddr,
34 FALSE
35 };
36
37--- a/gst/subparse/gstssaparse.c
38+++ b/gst/subparse/gstssaparse.c
39@@ -24,7 +24,9 @@
40 #include "config.h"
41 #endif
42
43+#include <ctype.h> /* isspace() */
44 #include <stdlib.h> /* atoi() */
45+#include <stdio.h> /* sscanf() */
46 #include <string.h>
47
48 #include "gstssaparse.h"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb
index f66ee05d..04cb5a5b 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb
@@ -3,9 +3,9 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 6# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require gstreamer1.0-plugins-common.inc
9 9
10DESCRIPTION = "'Base' GStreamer plugins and helper libraries" 10DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -18,7 +18,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
18 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 18 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
19 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ 19 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
20 " 20 "
21SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204" 21SRC_URI[sha256sum] = "f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d"
22 22
23S = "${WORKDIR}/gst-plugins-base-${PV}" 23S = "${WORKDIR}/gst-plugins-base-${PV}"
24 24
@@ -26,8 +26,6 @@ DEPENDS += "iso-codes util-linux zlib"
26 26
27inherit gobject-introspection 27inherit gobject-introspection
28 28
29PACKAGES_DYNAMIC =+ "^libgst.*"
30
31# opengl packageconfig factored out to make it easy for distros 29# opengl packageconfig factored out to make it easy for distros
32# and BSP layers to choose OpenGL APIs/platforms/window systems 30# and BSP layers to choose OpenGL APIs/platforms/window systems
33PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" 31PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
@@ -55,6 +53,8 @@ PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
55PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" 53PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
56PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" 54PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
57PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" 55PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
56# This enables Qt5 QML examples in -base. The Qt5 GStreamer
57# qmlglsink and qmlglsrc plugins still exist in -good.
58PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" 58PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
59PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" 59PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
60PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" 60PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
@@ -114,11 +114,9 @@ SRC_URI:remove = " \
114 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 114 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
115 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" 115 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
116SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 116SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
117SRC_URI += "file://0001-Fix-types-to-match-callback-functions.patch"
118SRC_URI += "file://0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch"
119GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" 117GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
120SRCBRANCH = "MM_04.07.03_2301_L6.1.y" 118SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
121SRCREV = "fad4d243e030452b26dfbb2eb0f4d94befa4b9eb" 119SRCREV = "aaaf7df211523b1835659ae85c510e5615d451d7"
122 120
123S = "${WORKDIR}/git" 121S = "${WORKDIR}/git"
124 122
@@ -144,12 +142,6 @@ EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
144# gcompat will address it during runtime 142# gcompat will address it during runtime
145LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" 143LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
146 144
147# Remove this meta package when moving to gstreamer 1.22+, this is for making
148# gst packagegroups from master work with gstreamer 1.20.3.imx
149PACKAGES += "${PN}-videoconvertscale"
150ALLOW_EMPTY:${PN}-videoconvertscale = "1"
151RDEPENDS:${PN}-videoconvertscale = "${PN}-videoconvert ${PN}-videoscale"
152
153COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 145COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
154 146
155########### End of i.MX overrides ######### 147########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
new file mode 100644
index 00000000..54dd9287
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -0,0 +1,47 @@
1# This .inc file contains the common setup for the gstreamer1.0-plugins-*
2# plugin set recipes.
3
4# SUMMARY is set in the actual .bb recipes
5HOMEPAGE = "https://gstreamer.freedesktop.org/"
6BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
7SECTION = "multimedia"
8
9DEPENDS = "gstreamer1.0 glib-2.0-native"
10
11inherit gettext meson pkgconfig upstream-version-is-even
12
13require gstreamer1.0-plugins-packaging.inc
14
15# Orc enables runtime JIT compilation of data processing routines from Orc
16# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
17# MIPS, Altivec and NEON are supported).
18# This value is used in the PACKAGECONFIG values for each plugin set recipe.
19# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
20GSTREAMER_ORC ?= "orc"
21# workaround to disable orc on mips to fix the build failure
22# {standard input}: Assembler messages:
23# {standard input}:46587: Error: branch out of range
24GSTREAMER_ORC:mips = ""
25PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
26
27# TODO: put this in a gettext.bbclass patch (with variables to allow for
28# configuring the option name and the enabled/disabled values).
29def gettext_oemeson(d):
30 if d.getVar('USE_NLS') == 'no':
31 return '-Dnls=disabled'
32 # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
33 if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
34 return '-Dnls=disabled'
35 return '-Dnls=enabled'
36
37# Not all plugin sets contain examples, so the -Dexamples
38# option needs to be added conditionally.
39GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
40
41EXTRA_OEMESON += " \
42 ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
43 ${@gettext_oemeson(d)} \
44"
45
46GIR_MESON_ENABLE_FLAG = "enabled"
47GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch
deleted file mode 100644
index 0a6637de..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 50c821e3578e3e0892574d88ef7edb25d60ae50a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 19:39:46 -0700
4Subject: [PATCH] Add prototype declaration for gst_v4l2_object_streamoff
5
6Fixes build with latest compilers e.g. clang-16
7
8../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]
9 if (!gst_v4l2_object_streamoff (self->v4l2capture))
10 ^
11
12Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/1]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 sys/v4l2/gstv4l2object.h | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h
19index 685086902..c84dc1724 100644
20--- a/sys/v4l2/gstv4l2object.h
21+++ b/sys/v4l2/gstv4l2object.h
22@@ -323,6 +323,7 @@ GstStructure * gst_v4l2_object_v4l2fourcc_to_structure (guint32 fourcc);
23
24 /* crop / compose */
25 gboolean gst_v4l2_object_set_crop (GstV4l2Object * obj, struct v4l2_rect *result);
26+gboolean gst_v4l2_object_streamoff (GstV4l2Object * v4l2object);
27
28 /* TODO Move to proper namespace */
29 /* open/close the device */
30--
312.39.2
32
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
deleted file mode 100644
index 788d7520..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 31 Mar 2020 21:23:28 -0700
4Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h
5
6gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to
7prefer qt headers definitions for GLsync
8
9This helps in fixing build errors like below
10
11/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: error: conflicting declaration 'typedef struct __GLsync* GLsync'
12 24 | typedef struct __GLsync *GLsync;
13 | ^~~~~~
14In file included from /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84,
15 from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30:
16/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: note: previous declaration as 'typedef void* GLsync
17'
18 40 | typedef gpointer GLsync;
19 | ^~~~~~
20
21Upstream-Status: Pending
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 ext/qt/gstqsgtexture.cc | 2 +-
25 ext/qt/qtwindow.cc | 2 +-
26 2 files changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
29index a05d26e..4cc9fc6 100644
30--- a/ext/qt/gstqsgtexture.cc
31+++ b/ext/qt/gstqsgtexture.cc
32@@ -27,7 +27,7 @@
33
34 #include <gst/video/video.h>
35 #include <gst/gl/gl.h>
36-#include <gst/gl/gstglfuncs.h>
37+#include <ext/qt/gstqtgl.h>
38 #include "gstqsgtexture.h"
39
40 #define GST_CAT_DEFAULT gst_qsg_texture_debug
41diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
42index 9360c33..0dfd3f1 100644
43--- a/ext/qt/qtwindow.cc
44+++ b/ext/qt/qtwindow.cc
45@@ -25,7 +25,7 @@
46 #include <stdio.h>
47
48 #include <gst/video/video.h>
49-#include <gst/gl/gstglfuncs.h>
50+#include <ext/qt/gstqtgl.h>
51 #include "qtwindow.h"
52 #include "gstqsgtexture.h"
53 #include "gstqtglutility.h"
54--
552.28.0
56
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch
deleted file mode 100644
index 1345dd4f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From dc5d752ec3fbec10402aa60fa8245e384e0c7206 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 7 Jun 2023 22:53:47 -0700
4Subject: [PATCH] v4l2: Include gst/allocators/gstdmabuf.h for
5 gst_is_dmabuf_memory()
6
7This is flagged by clang-16
8../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]
9 if (gst_is_dmabuf_memory (gst_buffer_peek_memory (frame->input_buffer, 0))
10 ^
11
12Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/2]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 sys/v4l2/gstv4l2videoenc.c | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/sys/v4l2/gstv4l2videoenc.c b/sys/v4l2/gstv4l2videoenc.c
19index a505a228f..f24d5a795 100644
20--- a/sys/v4l2/gstv4l2videoenc.c
21+++ b/sys/v4l2/gstv4l2videoenc.c
22@@ -36,6 +36,7 @@
23
24 #include <string.h>
25 #include <gst/gst-i18n-plugin.h>
26+#include <gst/allocators/gstdmabuf.h>
27
28 GST_DEBUG_CATEGORY_STATIC (gst_v4l2_video_enc_debug);
29 #define GST_CAT_DEFAULT gst_v4l2_video_enc_debug
30--
312.41.0
32
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.imx.bb
index 95e33d5b..a594e0c2 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.imx.bb
@@ -3,9 +3,9 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 66ba273c10b7d738f18620b5a2883d735fff3162 6# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require gstreamer1.0-plugins-common.inc
9 9
10DESCRIPTION = "'Good' GStreamer plugins" 10DESCRIPTION = "'Good' GStreamer plugins"
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -13,10 +13,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ 15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
16 file://0001-v4l2-Include-gst-allocators-gstdmabuf.h-for-gst_is_d.patch \
17 " 16 "
18 17
19SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7" 18SRC_URI[sha256sum] = "582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0"
20 19
21S = "${WORKDIR}/gst-plugins-good-${PV}" 20S = "${WORKDIR}/gst-plugins-good-${PV}"
22 21
@@ -27,12 +26,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
27DEPENDS += "gstreamer1.0-plugins-base libcap zlib" 26DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
28RPROVIDES:${PN}-pulseaudio += "${PN}-pulse" 27RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
29RPROVIDES:${PN}-soup += "${PN}-souphttpsrc" 28RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
29RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}"
30
31PACKAGECONFIG_SOUP ?= "soup3"
30 32
31PACKAGECONFIG ??= " \ 33PACKAGECONFIG ??= " \
32 ${GSTREAMER_ORC} \ 34 ${GSTREAMER_ORC} \
35 ${PACKAGECONFIG_SOUP} \
33 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ 36 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
34 ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \ 37 ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
35 bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ 38 bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
36" 39"
37 40
38X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" 41X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
@@ -57,12 +60,8 @@ PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
57PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" 60PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
58PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" 61PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
59PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" 62PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
60# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen() 63PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
61# instead of linking to it. And instead of using the default libsoup C headers, it 64PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2"
62# uses its own stub header. Consequently, objdump will not show the libsoup .so as
63# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
64# as RDEPEND instead of DEPEND.
65PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
66PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" 65PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
67PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" 66PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
68PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" 67PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
@@ -102,14 +101,13 @@ LIC_FILES_CHKSUM = " \
102# fb implementation of v4l2 uses libdrm 101# fb implementation of v4l2 uses libdrm
103DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 102DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
104DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" 103DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
105RDEPENDS:${PN}-soup += "${@bb.utils.contains('PACKAGECONFIG', 'soup', 'libsoup-2.4', '', d)}"
106 104
107SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" 105SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
106 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch"
108SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 107SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
109SRC_URI += "file://0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch"
110GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" 108GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
111SRCBRANCH = "MM_04.07.03_2301_L6.1.y" 109SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
112SRCREV = "5de04382c1c73e7b6d3c448a8902f358784d4567" 110SRCREV = "84704602fe5d6d5012085e63fa8a7232af13c9b7"
113 111
114S = "${WORKDIR}/git" 112S = "${WORKDIR}/git"
115 113
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
index 70ae8937..5bf60e62 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
@@ -60,7 +60,7 @@ PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-so
60PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec" 60PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
61PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec" 61PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
62 62
63require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc 63require gstreamer1.0-plugins-packaging.inc
64 64
65# the following line is required to produce one package for each plugin 65# the following line is required to produce one package for each plugin
66PACKAGES_DYNAMIC = "^${PN}-.*" 66PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
new file mode 100644
index 00000000..8b1c0011
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
@@ -0,0 +1,19 @@
1# This .inc file contains functionality for automatically setting
2# the the license of all plugins according to the GSTREAMER_GPL.
3
4PACKAGESPLITFUNCS += "set_gstreamer_license"
5
6python set_gstreamer_license () {
7 import oe.utils
8 pn = d.getVar('PN') + '-'
9 gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
10 for pkg in oe.utils.packages_filter_out_system(d):
11 if pkg in gpl_plugins_names:
12 d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
13 else:
14 d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
15}
16
17EXTRA_OEMESON += " \
18 ${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
19 "
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
new file mode 100644
index 00000000..d77aeed8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -0,0 +1,73 @@
1# This .inc file contains functionality for automatically splitting
2# built plugins into individual packages for each plugin. A -meta
3# package is also set up that has no files of its own, but contains
4# the names of all plugin packages in its RDEPENDS list.
5#
6# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
7# but can be used in any recipe that produces GStreamer plugins.
8
9# Dynamically generate packages for all enabled plugins
10PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
11
12PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
13PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
14
15python split_gstreamer10_packages () {
16 gst_libdir = d.expand('${libdir}/gstreamer-1.0')
17 postinst = d.getVar('plugin_postinst')
18 glibdir = d.getVar('libdir')
19
20 # GStreamer libraries
21 do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
22 # GStreamer plugin shared objects
23 do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
24 # GObject introspection files for GStreamer plugins
25 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='')
26 # Static GStreamer libraries for development
27 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')
28}
29
30python set_gstreamer10_metapkg_rdepends () {
31 import os
32 import oe.utils
33
34 # Go through all generated packages (excluding the main package and
35 # the -meta package itself) and add them to the -meta package as RDEPENDS.
36
37 pn = d.getVar('PN')
38 metapkg = pn + '-meta'
39 d.setVar('ALLOW_EMPTY:' + metapkg, "1")
40 d.setVar('FILES:' + metapkg, "")
41 exclude = [ pn, pn + '-meta' ]
42 metapkg_rdepends = []
43 pkgdest = d.getVar('PKGDEST')
44 for pkg in oe.utils.packages_filter_out_system(d):
45 if pkg not in exclude and pkg not in metapkg_rdepends:
46 # See if the package is empty by looking at the contents of its PKGDEST subdirectory.
47 # If this subdirectory is empty, then the package is.
48 # Empty packages do not get added to the meta package's RDEPENDS
49 pkgdir = os.path.join(pkgdest, pkg)
50 if os.path.exists(pkgdir):
51 dir_contents = os.listdir(pkgdir) or []
52 else:
53 dir_contents = []
54 is_empty = len(dir_contents) == 0
55 if not is_empty:
56 metapkg_rdepends.append(pkg)
57 d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
58 d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
59}
60
61# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
62# so we need them even when empty (like in gst-plugins-good case)
63ALLOW_EMPTY:${PN} = "1"
64ALLOW_EMPTY:${PN}-dev = "1"
65ALLOW_EMPTY:${PN}-staticdev = "1"
66
67PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
68
69FILES:${PN} = ""
70FILES:${PN}-apps = "${bindir}"
71FILES:${PN}-glib = "${datadir}/glib-2.0"
72
73RRECOMMENDS:${PN} += "${PN}-meta"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
index 32af9683..17522a93 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.imx.bb
@@ -1,12 +1,12 @@
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 1require gstreamer1.0-plugins-common.inc
2require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc 2require gstreamer1.0-plugins-license.inc
3 3
4DESCRIPTION = "'Ugly GStreamer plugins" 4SUMMARY = "'Ugly GStreamer plugins"
5HOMEPAGE = "https://gstreamer.freedesktop.org/" 5HOMEPAGE = "https://gstreamer.freedesktop.org/"
6BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues" 6BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
7 7
8LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 8LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
9 file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" 9 "
10 10
11LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" 11LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
12LICENSE_FLAGS = "commercial" 12LICENSE_FLAGS = "commercial"
@@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial"
14SRC_URI = " \ 14SRC_URI = " \
15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \ 15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
16 " 16 "
17SRC_URI[sha256sum] = "8caa20789a09c304b49cf563d33cca9421b1875b84fcc187e4a385fa01d6aefd" 17SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c"
18 18
19S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}" 19S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
20 20
@@ -49,9 +49,4 @@ def get_gst_ver(v):
49FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" 49FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
50FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" 50FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
51 51
52# These recipes are copies of oe-core 1.20.3 that are not available
53# anymore upstream on the master branch.
54# The requirement to have them is because they are dependencies of
55# the other ones imx specific gstreamer forks on the layer.
56# So make their names maching the exisng ones will make it more safe.
57COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 52COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb
index 4da992ee..6f38929a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.imx.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
9 9
10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz" 10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz"
11SRC_URI[sha256sum] = "db348120eae955b8cc4de3560a7ea06e36d6e1ddbaa99a7ad96b59846601cfdc" 11SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5"
12 12
13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
14RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 14RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
index 2a3d9db6..d569ea9f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.imx.bb
@@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server"
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" 11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
12 12
13SRC_URI[sha256sum] = "ee402718be9b127f0e5e66ca4c1b4f42e4926ec93ba307b7ccca5dc6cc9794ca" 13SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed"
14 14
15S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}" 15S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
16 16
@@ -30,13 +30,8 @@ def get_gst_ver(v):
30 return oe.utils.trim_version(v, 3) 30 return oe.utils.trim_version(v, 3)
31 31
32# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well 32# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
33require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc 33require gstreamer1.0-plugins-packaging.inc
34 34
35CVE_PRODUCT += "gst-rtsp-server" 35CVE_PRODUCT += "gst-rtsp-server"
36 36
37# These recipes are copies of oe-core 1.20.3 that are not available
38# anymore upstream on the master branch.
39# The requirement to have them is because they are dependencies of
40# the other ones imx specific gstreamer forks on the layer.
41# So make their names maching the exisng ones will make it more safe.
42COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 37COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb
index 503f828f..288de6c5 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.imx.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11 11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz" 12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz"
13 13
14SRC_URI[sha256sum] = "6ee99eb316abdde9ad37002915bd8c3867918f6fdc74b7cf2ac4c1ae0d690b45" 14SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5"
15 15
16S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}" 16S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" 17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
@@ -32,24 +32,28 @@ def get_gst_ver(v):
32 32
33PACKAGES =+ "${PN}-tests" 33PACKAGES =+ "${PN}-tests"
34 34
35# OpenGL packageconfig factored out to make it easy for distros 35# Use egl for i.MX
36# and BSP layers to pick either glx, egl, or no GL. By default,
37# try detecting X11 first, and if found (with OpenGL), use GLX,
38# otherwise try to check if EGL can be used.
39PACKAGECONFIG_GL ?= "egl" 36PACKAGECONFIG_GL ?= "egl"
40 37
41PACKAGECONFIG ??= "drm encoders \ 38PACKAGECONFIG ??= "drm encoders \
42 ${PACKAGECONFIG_GL} \ 39 ${PACKAGECONFIG_GL} \
43 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" 40 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
44 41
45PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm" 42PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
46PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl" 43PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
47PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no" 44PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
48PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl" 45PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
49PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols" 46PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
50PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender" 47PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
51 48
52FILES:${PN} += "${libdir}/gstreamer-*/*.so" 49FILES:${PN} += "${libdir}/gstreamer-*/*.so"
53FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug" 50FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
54FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a" 51FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
55FILES:${PN}-tests = "${bindir}/*" 52FILES:${PN}-tests = "${bindir}/*"
53
54# correct .pc install location - fixed in upstream trunk
55do_install:append() {
56 mkdir -p ${D}/${libdir}/pkgconfig
57 mv ${D}/${libdir}/gstreamer-1.0/pkgconfig/*.pc ${D}/${libdir}/pkgconfig
58 rmdir ${D}/${libdir}/gstreamer-1.0/pkgconfig/
59}
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
index 312c04fb..1b9278db 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
@@ -1,20 +1,21 @@
1From 1eb77a4ea5a3967c688d8f1192f99c605badc7e2 Mon Sep 17 00:00:00 2001 1From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100 3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH 1/4] tests: respect the idententaion used in meson 4Subject: [PATCH] tests: respect the idententaion used in meson
5 5
6Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] 6Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
7 7
8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
9
9--- 10---
10 subprojects/gstreamer/tests/check/meson.build | 10 +++++----- 11 tests/check/meson.build | 10 +++++-----
11 1 file changed, 5 insertions(+), 5 deletions(-) 12 1 file changed, 5 insertions(+), 5 deletions(-)
12 13
13diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build 14diff --git a/tests/check/meson.build b/tests/check/meson.build
14index 9c4228b6e4..506606684d 100644 15index 9787b0a..16caac7 100644
15--- a/subprojects/gstreamer/tests/check/meson.build 16--- a/tests/check/meson.build
16+++ b/subprojects/gstreamer/tests/check/meson.build 17+++ b/tests/check/meson.build
17@@ -146,11 +146,11 @@ foreach t : core_tests 18@@ -145,11 +145,11 @@ foreach t : core_tests
18 19
19 if not skip_test 20 if not skip_test
20 exe = executable(test_name, fname, 21 exe = executable(test_name, fname,
@@ -22,15 +23,12 @@ index 9c4228b6e4..506606684d 100644
22- cpp_args : gst_c_args + test_defines, 23- cpp_args : gst_c_args + test_defines,
23- include_directories : [configinc], 24- include_directories : [configinc],
24- link_with : link_with_libs, 25- link_with : link_with_libs,
25- dependencies : test_deps + glib_deps + gst_deps, 26- dependencies : gst_deps + test_deps,
26+ c_args : gst_c_args + test_defines, 27+ c_args : gst_c_args + test_defines,
27+ cpp_args : gst_c_args + test_defines, 28+ cpp_args : gst_c_args + test_defines,
28+ include_directories : [configinc], 29+ include_directories : [configinc],
29+ link_with : link_with_libs, 30+ link_with : link_with_libs,
30+ dependencies : test_deps + glib_deps + gst_deps, 31+ dependencies : gst_deps + test_deps,
31 ) 32 )
32 33
33 env = environment() 34 env = environment()
34--
352.33.1
36
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
index d18c19c3..568e38cb 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
@@ -1,7 +1,7 @@
1From 62f5bb7bfc2498219df7280e73480d8ed2378ce5 Mon Sep 17 00:00:00 2001 1From 08b1aaff972a7f6349373fc1ad4cc23081adb52c Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100 3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH 2/4] tests: add support for install the tests 4Subject: [PATCH] tests: add support for install the tests
5 5
6This will provide to run the tests using the gnome-desktop-testing [1] 6This will provide to run the tests using the gnome-desktop-testing [1]
7 7
@@ -10,19 +10,20 @@ This will provide to run the tests using the gnome-desktop-testing [1]
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] 10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11 11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13
13--- 14---
14 subprojects/gstreamer/meson.build | 4 ++++ 15 meson.build | 4 ++++
15 subprojects/gstreamer/meson_options.txt | 1 + 16 meson_options.txt | 1 +
16 subprojects/gstreamer/tests/check/meson.build | 22 ++++++++++++++++++- 17 tests/check/meson.build | 22 +++++++++++++++++++++-
17 .../gstreamer/tests/check/template.test.in | 3 +++ 18 tests/check/template.test.in | 3 +++
18 4 files changed, 29 insertions(+), 1 deletion(-) 19 4 files changed, 29 insertions(+), 1 deletion(-)
19 create mode 100644 subprojects/gstreamer/tests/check/template.test.in 20 create mode 100644 tests/check/template.test.in
20 21
21diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build 22diff --git a/meson.build b/meson.build
22index d20fe0040f..b595d8f990 100644 23index f9f591d..3906fb3 100644
23--- a/subprojects/gstreamer/meson.build 24--- a/meson.build
24+++ b/subprojects/gstreamer/meson.build 25+++ b/meson.build
25@@ -562,6 +562,10 @@ if bashcomp_dep.found() 26@@ -606,6 +606,10 @@ if bashcomp_dep.found()
26 endif 27 endif
27 endif 28 endif
28 29
@@ -33,10 +34,10 @@ index d20fe0040f..b595d8f990 100644
33 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') 34 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
34 35
35 pkgconfig = import('pkgconfig') 36 pkgconfig = import('pkgconfig')
36diff --git a/subprojects/gstreamer/meson_options.txt b/subprojects/gstreamer/meson_options.txt 37diff --git a/meson_options.txt b/meson_options.txt
37index 7363bdb7a1..a34ba37dad 100644 38index 7363bdb..a34ba37 100644
38--- a/subprojects/gstreamer/meson_options.txt 39--- a/meson_options.txt
39+++ b/subprojects/gstreamer/meson_options.txt 40+++ b/meson_options.txt
40@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso 41@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
41 option('memory-alignment', type: 'combo', 42 option('memory-alignment', type: 'combo',
42 choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], 43 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
45 46
46 # Feature options 47 # Feature options
47 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') 48 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
48diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build 49diff --git a/tests/check/meson.build b/tests/check/meson.build
49index 506606684d..00a138a568 100644 50index 16caac7..f2d400f 100644
50--- a/subprojects/gstreamer/tests/check/meson.build 51--- a/tests/check/meson.build
51+++ b/subprojects/gstreamer/tests/check/meson.build 52+++ b/tests/check/meson.build
52@@ -124,10 +124,16 @@ test_defines = [ 53@@ -124,10 +124,16 @@ test_defines = [
53 '-UG_DISABLE_ASSERT', 54 '-UG_DISABLE_ASSERT',
54 '-UG_DISABLE_CAST_CHECKS', 55 '-UG_DISABLE_CAST_CHECKS',
@@ -67,16 +68,16 @@ index 506606684d..00a138a568 100644
67 # sanity checking 68 # sanity checking
68 if get_option('check').disabled() 69 if get_option('check').disabled()
69 if get_option('tests').enabled() 70 if get_option('tests').enabled()
70@@ -151,6 +157,8 @@ foreach t : core_tests 71@@ -150,6 +156,8 @@ foreach t : core_tests
71 include_directories : [configinc], 72 include_directories : [configinc],
72 link_with : link_with_libs, 73 link_with : link_with_libs,
73 dependencies : test_deps + glib_deps + gst_deps, 74 dependencies : gst_deps + test_deps,
74+ install_dir: installed_tests_execdir, 75+ install_dir: installed_tests_execdir,
75+ install: installed_tests_enabled, 76+ install: installed_tests_enabled,
76 ) 77 )
77 78
78 env = environment() 79 env = environment()
79@@ -162,6 +170,18 @@ foreach t : core_tests 80@@ -161,6 +169,18 @@ foreach t : core_tests
80 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') 81 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
81 env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') 82 env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
82 83
@@ -95,15 +96,12 @@ index 506606684d..00a138a568 100644
95 test(test_name, exe, env: env, timeout : 3 * 60) 96 test(test_name, exe, env: env, timeout : 3 * 60)
96 endif 97 endif
97 endforeach 98 endforeach
98diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in 99diff --git a/tests/check/template.test.in b/tests/check/template.test.in
99new file mode 100644 100new file mode 100644
100index 0000000000..f701627f87 101index 0000000..f701627
101--- /dev/null 102--- /dev/null
102+++ b/subprojects/gstreamer/tests/check/template.test.in 103+++ b/tests/check/template.test.in
103@@ -0,0 +1,3 @@ 104@@ -0,0 +1,3 @@
104+[Test] 105+[Test]
105+Type=session 106+Type=session
106+Exec=@installed_tests_dir@/@program@ 107+Exec=@installed_tests_dir@/@program@
107--
1082.33.1
109
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.imx.bb
index 95d6425c..9201246a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 6# Upstream hash: fb2d28e0315ece6180c87c7047587673024a09f7
7 7
8SUMMARY = "GStreamer 1.0 multimedia framework" 8SUMMARY = "GStreamer 1.0 multimedia framework"
9DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ 9DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
@@ -24,13 +24,12 @@ S = "${WORKDIR}/gstreamer-${PV}"
24 24
25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ 25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
26 file://run-ptest \ 26 file://run-ptest \
27 file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \ 27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
28 file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \ 28 file://0002-tests-add-support-for-install-the-tests.patch \
29 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ 29 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ 30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
31 file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \
32 " 31 "
33SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031" 32SRC_URI[sha256sum] = "78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09"
34 33
35PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 34PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
36 check \ 35 check \
@@ -94,8 +93,8 @@ LIC_FILES_CHKSUM = " \
94SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 93SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
95SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 94SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
96GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 95GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
97SRCBRANCH = "MM_04.07.03_2301_L6.1.y" 96SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
98SRCREV = "e525a482611b2fccbebbc0f9fc32a88a707558fa" 97SRCREV = "e39d4ce54e78cb090cf4e5cd56f431c365c5b0f4"
99 98
100S = "${WORKDIR}/git" 99S = "${WORKDIR}/git"
101 100
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
new file mode 100644
index 00000000..5a58a5a6
--- /dev/null
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch
@@ -0,0 +1,34 @@
1From bda3461b0b6493f3e04910e82e6e530a64af26b1 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Mon, 24 Jul 2023 12:09:34 -0700
4Subject: [PATCH] meson: Undef _TIME_BITS along with _FILE_OFFSET_BITS
5
6On gcc 13, _TIME_BITS is set to 64 and causes failure with the undef of
7_FILE_OFFSET_BITS:
8```
9/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
10 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
11 | ^~~~~
12```
13
14Upstream-Status: Pending
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16---
17 meson.build | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/meson.build b/meson.build
21index 7ec5c70..64b2930 100644
22--- a/meson.build
23+++ b/meson.build
24@@ -24,6 +24,7 @@ gst_dep = dependency('gstreamer-' + api_version, version : gst_req)
25 #meson automaticaly add _FILE_OFFSET_BITS=64 to gcc, this will make ipu test
26 #case fail when do mmap on 6q, autoconf didn't add this define, so undef it
27 add_project_arguments('-U_FILE_OFFSET_BITS', language: 'c')
28+add_project_arguments('-U_TIME_BITS', language: 'c')
29
30 #below two marcos are defined in autoconf
31 add_project_arguments ('-DARM', language: 'c')
32--
332.25.1
34
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index b43b7ddb..1e2ffbde 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -22,7 +22,7 @@ RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
22 22
23LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" 23LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
24 24
25PV = "4.7.3+git${SRCPV}" 25PV = "4.8.0+git${SRCPV}"
26 26
27SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \ 27SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
28 file://0001-aiurdemux-Fix-type-of-USER_DATA_LOCATION.patch \ 28 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=
35 file://0008-beepdec-Declare-beep_register_external_typefinders.patch \ 35 file://0008-beepdec-Declare-beep_register_external_typefinders.patch \
36 file://0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch \ 36 file://0009-gstimxv4l2.c-Fix-incompatible-integer-to-pointer-con.patch \
37 file://0010-provide-declaration-for-aiur_register_external_typef.patch \ 37 file://0010-provide-declaration-for-aiur_register_external_typef.patch \
38 file://0011-meson-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS.patch \
38 " 39 "
39SRCBRANCH = "MM_04.07.03_2301_L6.1.y" 40SRCBRANCH = "MM_04.08.00_2305_L6.1.y"
40SRCREV = "843215344b62de7a91d5880a4b093cd384c7b567" 41SRCREV = "2df72651dcc0ecff9db7c0a96d59c5ca2b9be9d4"
41 42
42S = "${WORKDIR}/git" 43S = "${WORKDIR}/git"
43 44