diff options
Diffstat (limited to 'recipes-multimedia/gstreamer')
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 | ||
15 | SRC_URI[sha256sum] = "bbbd45ead703367ea8f4be9b3c082d7b62bef47b240a39083f27844e28758c47" | 15 | SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195" |
16 | 16 | ||
17 | DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" | 17 | DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" |
18 | RRECOMMENDS:${PN} = "git" | 18 | RRECOMMENDS:${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 @@ | |||
1 | From 78a97c1ec35ada76d83fc67d0549ba56c74d8875 Mon Sep 17 00:00:00 2001 | ||
2 | From: Seungha Yang <seungha@centricular.com> | ||
3 | Date: Thu, 7 Jul 2022 22:16:30 +0900 | ||
4 | Subject: [PATCH] libav: Fix for APNG encoder property registration | ||
5 | |||
6 | The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG" | ||
7 | and it will be converted to "-a-png" through | ||
8 | g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-' | ||
9 | character for a GType name. Strip leading '-' to workaround it. | ||
10 | |||
11 | Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724] | ||
12 | |||
13 | Seungha Yangs patch was imported without modifications. | ||
14 | |||
15 | Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com> | ||
16 | --- | ||
17 | ext/libav/gstavcfg.c | 29 +++++++++++++++++++++++------ | ||
18 | 1 file changed, 23 insertions(+), 6 deletions(-) | ||
19 | |||
20 | diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c | ||
21 | index 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 @@ | |||
1 | From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001 | ||
2 | From: "U. Artie Eoff" <ullysses.a.eoff@intel.com> | ||
3 | Date: Mon, 13 Feb 2023 17:02:01 -0500 | ||
4 | Subject: [PATCH] avviddec: change | ||
5 | AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS | ||
6 | |||
7 | This fixes a compile error with recent upstream FFmpeg. | ||
8 | |||
9 | The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to | ||
10 | AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit | ||
11 | 7d09579190de (lavc 58.132.100). | ||
12 | |||
13 | The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream | ||
14 | commit 10c9a0874cb3 (lavc 59.63.100). | ||
15 | |||
16 | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964> | ||
17 | |||
18 | Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964] | ||
19 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
20 | --- | ||
21 | ext/libav/gstavviddec.c | 6 +++++- | ||
22 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
23 | |||
24 | diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c | ||
25 | index 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 | -- | ||
49 | GitLab | ||
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 | ||
14 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz \ | 14 | SRC_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 | " |
17 | SRC_URI[sha256sum] = "3fedd10560fcdfaa1b6462cbf79a38c4e7b57d7f390359393fc0cef6dbf27dfe" | 17 | SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1" |
18 | 18 | ||
19 | S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}" | 19 | S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}" |
20 | 20 | ||
@@ -33,9 +33,4 @@ def get_gst_ver(v): | |||
33 | FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" | 33 | FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" |
34 | FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | 34 | FILES:${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. | ||
41 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 36 | COMPATIBLE_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 | ||
11 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz" | 11 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz" |
12 | 12 | ||
13 | SRC_URI[sha256sum] = "8db48040bb41f09edf8d17ff6d16c54888d7777ba4501c2c69f0083350ea9a15" | 13 | SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341" |
14 | 14 | ||
15 | S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}" | 15 | S = "${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 @@ | |||
1 | From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001 | ||
2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
3 | Date: Tue, 26 Jan 2016 15:16:01 -0800 | ||
4 | Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-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 | |||
13 | diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c | ||
14 | index 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 | -- | ||
27 | 2.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 | ||
8 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc | 8 | require gstreamer1.0-plugins-common.inc |
9 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc | 9 | require gstreamer1.0-plugins-license.inc |
10 | 10 | ||
11 | DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " | 11 | DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " |
12 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | 12 | HOMEPAGE = "https://gstreamer.freedesktop.org/" |
@@ -15,11 +15,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues" | |||
15 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ | 15 | SRC_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 | " |
22 | SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848" | 20 | SRC_URI[sha256sum] = "3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1" |
23 | 21 | ||
24 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | 22 | S = "${WORKDIR}/gst-plugins-bad-${PV}" |
25 | 23 | ||
@@ -43,6 +41,7 @@ PACKAGECONFIG ??= " \ | |||
43 | 41 | ||
44 | PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" | 42 | PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" |
45 | PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" | 43 | PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" |
44 | PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp" | ||
46 | PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" | 45 | PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" |
47 | PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" | 46 | PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" |
48 | PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" | 47 | PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" |
@@ -90,6 +89,8 @@ PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" | |||
90 | PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" | 89 | PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" |
91 | PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" | 90 | PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" |
92 | PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" | 91 | PACKAGECONFIG[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 | ||
93 | PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" | 94 | PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" |
94 | PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" | 95 | PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" |
95 | PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" | 96 | PACKAGECONFIG[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 | |||
163 | export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" | 164 | export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" |
164 | 165 | ||
165 | ARM_INSTRUCTION_SET:armv4 = "arm" | 166 | ARM_INSTRUCTION_SET:armv4 = "arm" |
@@ -170,6 +171,7 @@ FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" | |||
170 | FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" | 171 | FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" |
171 | FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" | 172 | FILES:${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 | ||
181 | DEPENDS:append:imxgpu2d = " virtual/libg2d" | 183 | DEPENDS:append:imxgpu2d = " virtual/libg2d" |
182 | 184 | ||
183 | SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ | 185 | SRC_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 | " | ||
188 | SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " | 188 | SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " |
189 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" | 189 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" |
190 | SRCBRANCH = "MM_04.07.03_2301_L6.1.y" | 190 | SRCBRANCH = "MM_04.08.00_2305_L6.1.y" |
191 | SRCREV = "6db7bca26b81468b647b680d7ef67b1b8b938b00" | 191 | SRCREV = "3c2f0b5794e699437964f2c337463f57b1e17f51" |
192 | 192 | ||
193 | S = "${WORKDIR}/git" | 193 | S = "${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 @@ | |||
1 | From 98b5411642ffac9d895de968748102c2c6d18cb4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 1 Feb 2023 14:29:49 -0800 | ||
4 | Subject: [PATCH] Fix types to match callback functions | ||
5 | |||
6 | Fixes 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 | ||
9 | compatible-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 | ||
16 | pe 'GstGLContextThreadFunc' (aka 'void (*)(struct _GstGLContext *, void *)') [-Wincompatible-function-pointer-types] | ||
17 | | _do_viv_direct_tex_bind_mem, &directvivdata); | ||
18 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
19 | |||
20 | Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-base/pull/1] | ||
21 | Signed-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 | |||
26 | diff --git a/gst-libs/gst/gl/gstglphymemory.c b/gst-libs/gst/gl/gstglphymemory.c | ||
27 | index 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 | -- | ||
52 | 2.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 @@ | |||
1 | From 071fd005ad6572767d7441c97549b1c904719944 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 12 Sep 2022 20:29:25 -0700 | ||
4 | Subject: [PATCH] gstallocatorphymem.c: Typecast result of gst_phymem_get_phy | ||
5 | to guintptr | ||
6 | |||
7 | This fixes a warning/error found with clang-15 | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-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 | ||
8 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc | 8 | require gstreamer1.0-plugins-common.inc |
9 | 9 | ||
10 | DESCRIPTION = "'Base' GStreamer plugins and helper libraries" | 10 | DESCRIPTION = "'Base' GStreamer plugins and helper libraries" |
11 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | 11 | HOMEPAGE = "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 | " |
21 | SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204" | 21 | SRC_URI[sha256sum] = "f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d" |
22 | 22 | ||
23 | S = "${WORKDIR}/gst-plugins-base-${PV}" | 23 | S = "${WORKDIR}/gst-plugins-base-${PV}" |
24 | 24 | ||
@@ -26,8 +26,6 @@ DEPENDS += "iso-codes util-linux zlib" | |||
26 | 26 | ||
27 | inherit gobject-introspection | 27 | inherit gobject-introspection |
28 | 28 | ||
29 | PACKAGES_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 |
33 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" | 31 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" |
@@ -55,6 +53,8 @@ PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" | |||
55 | PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" | 53 | PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" |
56 | PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" | 54 | PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" |
57 | PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" | 55 | PACKAGECONFIG[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. | ||
58 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" | 58 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" |
59 | PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" | 59 | PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" |
60 | PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" | 60 | PACKAGECONFIG[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" |
116 | SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " | 116 | SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " |
117 | SRC_URI += "file://0001-Fix-types-to-match-callback-functions.patch" | ||
118 | SRC_URI += "file://0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch" | ||
119 | GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" | 117 | GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" |
120 | SRCBRANCH = "MM_04.07.03_2301_L6.1.y" | 118 | SRCBRANCH = "MM_04.08.00_2305_L6.1.y" |
121 | SRCREV = "fad4d243e030452b26dfbb2eb0f4d94befa4b9eb" | 119 | SRCREV = "aaaf7df211523b1835659ae85c510e5615d451d7" |
122 | 120 | ||
123 | S = "${WORKDIR}/git" | 121 | S = "${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 |
145 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | 143 | LDFLAGS: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 | ||
149 | PACKAGES += "${PN}-videoconvertscale" | ||
150 | ALLOW_EMPTY:${PN}-videoconvertscale = "1" | ||
151 | RDEPENDS:${PN}-videoconvertscale = "${PN}-videoconvert ${PN}-videoscale" | ||
152 | |||
153 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 145 | COMPATIBLE_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 | ||
5 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | ||
6 | BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" | ||
7 | SECTION = "multimedia" | ||
8 | |||
9 | DEPENDS = "gstreamer1.0 glib-2.0-native" | ||
10 | |||
11 | inherit gettext meson pkgconfig upstream-version-is-even | ||
12 | |||
13 | require 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. | ||
20 | GSTREAMER_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 | ||
24 | GSTREAMER_ORC:mips = "" | ||
25 | PACKAGECONFIG[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). | ||
29 | def 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. | ||
39 | GST_PLUGIN_SET_HAS_EXAMPLES ?= "1" | ||
40 | |||
41 | EXTRA_OEMESON += " \ | ||
42 | ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \ | ||
43 | ${@gettext_oemeson(d)} \ | ||
44 | " | ||
45 | |||
46 | GIR_MESON_ENABLE_FLAG = "enabled" | ||
47 | GIR_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 @@ | |||
1 | From 50c821e3578e3e0892574d88ef7edb25d60ae50a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 12 Mar 2023 19:39:46 -0700 | ||
4 | Subject: [PATCH] Add prototype declaration for gst_v4l2_object_streamoff | ||
5 | |||
6 | Fixes 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 | |||
12 | Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/1] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | sys/v4l2/gstv4l2object.h | 1 + | ||
16 | 1 file changed, 1 insertion(+) | ||
17 | |||
18 | diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h | ||
19 | index 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 | -- | ||
31 | 2.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 @@ | |||
1 | From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 31 Mar 2020 21:23:28 -0700 | ||
4 | Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h | ||
5 | |||
6 | gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to | ||
7 | prefer qt headers definitions for GLsync | ||
8 | |||
9 | This 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 | | ^~~~~~ | ||
14 | 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, | ||
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 | |||
21 | Upstream-Status: Pending | ||
22 | Signed-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 | |||
28 | diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc | ||
29 | index 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 | ||
41 | diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc | ||
42 | index 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 | -- | ||
55 | 2.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 @@ | |||
1 | From dc5d752ec3fbec10402aa60fa8245e384e0c7206 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 7 Jun 2023 22:53:47 -0700 | ||
4 | Subject: [PATCH] v4l2: Include gst/allocators/gstdmabuf.h for | ||
5 | gst_is_dmabuf_memory() | ||
6 | |||
7 | This 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 | |||
12 | Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/2] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | sys/v4l2/gstv4l2videoenc.c | 1 + | ||
16 | 1 file changed, 1 insertion(+) | ||
17 | |||
18 | diff --git a/sys/v4l2/gstv4l2videoenc.c b/sys/v4l2/gstv4l2videoenc.c | ||
19 | index 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 | -- | ||
31 | 2.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 | ||
8 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc | 8 | require gstreamer1.0-plugins-common.inc |
9 | 9 | ||
10 | DESCRIPTION = "'Good' GStreamer plugins" | 10 | DESCRIPTION = "'Good' GStreamer plugins" |
11 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | 11 | HOMEPAGE = "https://gstreamer.freedesktop.org/" |
@@ -13,10 +13,9 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues | |||
13 | 13 | ||
14 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ | 14 | SRC_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 | ||
19 | SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7" | 18 | SRC_URI[sha256sum] = "582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0" |
20 | 19 | ||
21 | S = "${WORKDIR}/gst-plugins-good-${PV}" | 20 | S = "${WORKDIR}/gst-plugins-good-${PV}" |
22 | 21 | ||
@@ -27,12 +26,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | |||
27 | DEPENDS += "gstreamer1.0-plugins-base libcap zlib" | 26 | DEPENDS += "gstreamer1.0-plugins-base libcap zlib" |
28 | RPROVIDES:${PN}-pulseaudio += "${PN}-pulse" | 27 | RPROVIDES:${PN}-pulseaudio += "${PN}-pulse" |
29 | RPROVIDES:${PN}-soup += "${PN}-souphttpsrc" | 28 | RPROVIDES:${PN}-soup += "${PN}-souphttpsrc" |
29 | RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}" | ||
30 | |||
31 | PACKAGECONFIG_SOUP ?= "soup3" | ||
30 | 32 | ||
31 | PACKAGECONFIG ??= " \ | 33 | PACKAGECONFIG ??= " \ |
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 | ||
38 | X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" | 41 | X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" |
@@ -57,12 +60,8 @@ PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l- | |||
57 | PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" | 60 | PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" |
58 | PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" | 61 | PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" |
59 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" | 62 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" |
60 | # Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen() | 63 | PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3" |
61 | # instead of linking to it. And instead of using the default libsoup C headers, it | 64 | PACKAGECONFIG[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. | ||
65 | PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4" | ||
66 | PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" | 65 | PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" |
67 | PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" | 66 | PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" |
68 | PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" | 67 | PACKAGECONFIG[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 |
103 | DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" | 102 | DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" |
104 | DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" | 103 | DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" |
105 | RDEPENDS:${PN}-soup += "${@bb.utils.contains('PACKAGECONFIG', 'soup', 'libsoup-2.4', '', d)}" | ||
106 | 104 | ||
107 | SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" | 105 | SRC_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" | ||
108 | SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " | 107 | SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " |
109 | SRC_URI += "file://0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch" | ||
110 | GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" | 108 | GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" |
111 | SRCBRANCH = "MM_04.07.03_2301_L6.1.y" | 109 | SRCBRANCH = "MM_04.08.00_2305_L6.1.y" |
112 | SRCREV = "5de04382c1c73e7b6d3c448a8902f358784d4567" | 110 | SRCREV = "84704602fe5d6d5012085e63fa8a7232af13c9b7" |
113 | 111 | ||
114 | S = "${WORKDIR}/git" | 112 | S = "${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 | |||
60 | PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec" | 60 | PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec" |
61 | PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec" | 61 | PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec" |
62 | 62 | ||
63 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc | 63 | require 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 |
66 | PACKAGES_DYNAMIC = "^${PN}-.*" | 66 | PACKAGES_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 | |||
4 | PACKAGESPLITFUNCS += "set_gstreamer_license" | ||
5 | |||
6 | python 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 | |||
17 | EXTRA_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 | ||
10 | PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*" | ||
11 | |||
12 | PACKAGESPLITFUNCS =+ "split_gstreamer10_packages" | ||
13 | PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends" | ||
14 | |||
15 | python 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 | |||
30 | python 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) | ||
63 | ALLOW_EMPTY:${PN} = "1" | ||
64 | ALLOW_EMPTY:${PN}-dev = "1" | ||
65 | ALLOW_EMPTY:${PN}-staticdev = "1" | ||
66 | |||
67 | PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib" | ||
68 | |||
69 | FILES:${PN} = "" | ||
70 | FILES:${PN}-apps = "${bindir}" | ||
71 | FILES:${PN}-glib = "${datadir}/glib-2.0" | ||
72 | |||
73 | RRECOMMENDS:${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 @@ | |||
1 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc | 1 | require gstreamer1.0-plugins-common.inc |
2 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc | 2 | require gstreamer1.0-plugins-license.inc |
3 | 3 | ||
4 | DESCRIPTION = "'Ugly GStreamer plugins" | 4 | SUMMARY = "'Ugly GStreamer plugins" |
5 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | 5 | HOMEPAGE = "https://gstreamer.freedesktop.org/" |
6 | BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues" | 6 | BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues" |
7 | 7 | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ |
9 | file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" | 9 | " |
10 | 10 | ||
11 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" | 11 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" |
12 | LICENSE_FLAGS = "commercial" | 12 | LICENSE_FLAGS = "commercial" |
@@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial" | |||
14 | SRC_URI = " \ | 14 | SRC_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 | " |
17 | SRC_URI[sha256sum] = "8caa20789a09c304b49cf563d33cca9421b1875b84fcc187e4a385fa01d6aefd" | 17 | SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c" |
18 | 18 | ||
19 | S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}" | 19 | S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}" |
20 | 20 | ||
@@ -49,9 +49,4 @@ def get_gst_ver(v): | |||
49 | FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" | 49 | FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" |
50 | FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" | 50 | FILES:${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. | ||
57 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 52 | COMPATIBLE_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" | |||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" |
9 | 9 | ||
10 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz" | 10 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver('${PV}')}.tar.xz" |
11 | SRC_URI[sha256sum] = "db348120eae955b8cc4de3560a7ea06e36d6e1ddbaa99a7ad96b59846601cfdc" | 11 | SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5" |
12 | 12 | ||
13 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" | 13 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" |
14 | RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" | 14 | RDEPENDS:${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 | ||
11 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" | 11 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" |
12 | 12 | ||
13 | SRC_URI[sha256sum] = "ee402718be9b127f0e5e66ca4c1b4f42e4926ec93ba307b7ccca5dc6cc9794ca" | 13 | SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed" |
14 | 14 | ||
15 | S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}" | 15 | S = "${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 |
33 | require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc | 33 | require gstreamer1.0-plugins-packaging.inc |
34 | 34 | ||
35 | CVE_PRODUCT += "gst-rtsp-server" | 35 | CVE_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. | ||
42 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 37 | COMPATIBLE_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 | ||
12 | SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz" | 12 | SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz" |
13 | 13 | ||
14 | SRC_URI[sha256sum] = "6ee99eb316abdde9ad37002915bd8c3867918f6fdc74b7cf2ac4c1ae0d690b45" | 14 | SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5" |
15 | 15 | ||
16 | S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}" | 16 | S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}" |
17 | DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" | 17 | DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" |
@@ -32,24 +32,28 @@ def get_gst_ver(v): | |||
32 | 32 | ||
33 | PACKAGES =+ "${PN}-tests" | 33 | PACKAGES =+ "${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. | ||
39 | PACKAGECONFIG_GL ?= "egl" | 36 | PACKAGECONFIG_GL ?= "egl" |
40 | 37 | ||
41 | PACKAGECONFIG ??= "drm encoders \ | 38 | PACKAGECONFIG ??= "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 | ||
45 | PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm" | 42 | PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm" |
46 | PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl" | 43 | PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" |
47 | PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no" | 44 | PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled" |
48 | PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl" | 45 | PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl" |
49 | PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols" | 46 | PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols" |
50 | PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender" | 47 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender" |
51 | 48 | ||
52 | FILES:${PN} += "${libdir}/gstreamer-*/*.so" | 49 | FILES:${PN} += "${libdir}/gstreamer-*/*.so" |
53 | FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug" | 50 | FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug" |
54 | FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a" | 51 | FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a" |
55 | FILES:${PN}-tests = "${bindir}/*" | 52 | FILES:${PN}-tests = "${bindir}/*" |
53 | |||
54 | # correct .pc install location - fixed in upstream trunk | ||
55 | do_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 @@ | |||
1 | From 1eb77a4ea5a3967c688d8f1192f99c605badc7e2 Mon Sep 17 00:00:00 2001 | 1 | From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001 |
2 | From: Jose Quaresma <quaresma.jose@gmail.com> | 2 | From: Jose Quaresma <quaresma.jose@gmail.com> |
3 | Date: Sun, 11 Apr 2021 19:48:13 +0100 | 3 | Date: Sun, 11 Apr 2021 19:48:13 +0100 |
4 | Subject: [PATCH 1/4] tests: respect the idententaion used in meson | 4 | Subject: [PATCH] tests: respect the idententaion used in meson |
5 | 5 | ||
6 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] | 6 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] |
7 | 7 | ||
8 | Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> | 8 | Signed-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 | ||
13 | diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build | 14 | diff --git a/tests/check/meson.build b/tests/check/meson.build |
14 | index 9c4228b6e4..506606684d 100644 | 15 | index 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 | -- | ||
35 | 2.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 @@ | |||
1 | From 62f5bb7bfc2498219df7280e73480d8ed2378ce5 Mon Sep 17 00:00:00 2001 | 1 | From 08b1aaff972a7f6349373fc1ad4cc23081adb52c Mon Sep 17 00:00:00 2001 |
2 | From: Jose Quaresma <quaresma.jose@gmail.com> | 2 | From: Jose Quaresma <quaresma.jose@gmail.com> |
3 | Date: Sun, 11 Apr 2021 19:48:13 +0100 | 3 | Date: Sun, 11 Apr 2021 19:48:13 +0100 |
4 | Subject: [PATCH 2/4] tests: add support for install the tests | 4 | Subject: [PATCH] tests: add support for install the tests |
5 | 5 | ||
6 | This will provide to run the tests using the gnome-desktop-testing [1] | 6 | This 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] | |||
10 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] | 10 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] |
11 | 11 | ||
12 | Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> | 12 | Signed-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 | ||
21 | diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build | 22 | diff --git a/meson.build b/meson.build |
22 | index d20fe0040f..b595d8f990 100644 | 23 | index 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') |
36 | diff --git a/subprojects/gstreamer/meson_options.txt b/subprojects/gstreamer/meson_options.txt | 37 | diff --git a/meson_options.txt b/meson_options.txt |
37 | index 7363bdb7a1..a34ba37dad 100644 | 38 | index 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') |
48 | diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build | 49 | diff --git a/tests/check/meson.build b/tests/check/meson.build |
49 | index 506606684d..00a138a568 100644 | 50 | index 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 |
98 | diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in | 99 | diff --git a/tests/check/template.test.in b/tests/check/template.test.in |
99 | new file mode 100644 | 100 | new file mode 100644 |
100 | index 0000000000..f701627f87 | 101 | index 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 | -- | ||
108 | 2.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 | ||
8 | SUMMARY = "GStreamer 1.0 multimedia framework" | 8 | SUMMARY = "GStreamer 1.0 multimedia framework" |
9 | DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ | 9 | DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ |
@@ -24,13 +24,12 @@ S = "${WORKDIR}/gstreamer-${PV}" | |||
24 | 24 | ||
25 | SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ | 25 | SRC_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 | " |
33 | SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031" | 32 | SRC_URI[sha256sum] = "78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09" |
34 | 33 | ||
35 | PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ | 34 | PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ |
36 | check \ | 35 | check \ |
@@ -94,8 +93,8 @@ LIC_FILES_CHKSUM = " \ | |||
94 | SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" | 93 | SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" |
95 | SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " | 94 | SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " |
96 | GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" | 95 | GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" |
97 | SRCBRANCH = "MM_04.07.03_2301_L6.1.y" | 96 | SRCBRANCH = "MM_04.08.00_2305_L6.1.y" |
98 | SRCREV = "e525a482611b2fccbebbc0f9fc32a88a707558fa" | 97 | SRCREV = "e39d4ce54e78cb090cf4e5cd56f431c365c5b0f4" |
99 | 98 | ||
100 | S = "${WORKDIR}/git" | 99 | S = "${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 @@ | |||
1 | From bda3461b0b6493f3e04910e82e6e530a64af26b1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tom Hochstein <tom.hochstein@nxp.com> | ||
3 | Date: Mon, 24 Jul 2023 12:09:34 -0700 | ||
4 | Subject: [PATCH] meson: Undef _TIME_BITS along with _FILE_OFFSET_BITS | ||
5 | |||
6 | On 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 | |||
14 | Upstream-Status: Pending | ||
15 | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> | ||
16 | --- | ||
17 | meson.build | 1 + | ||
18 | 1 file changed, 1 insertion(+) | ||
19 | |||
20 | diff --git a/meson.build b/meson.build | ||
21 | index 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 | -- | ||
33 | 2.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 | ||
23 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" | 23 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" |
24 | 24 | ||
25 | PV = "4.7.3+git${SRCPV}" | 25 | PV = "4.8.0+git${SRCPV}" |
26 | 26 | ||
27 | SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \ | 27 | SRC_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 | " |
39 | SRCBRANCH = "MM_04.07.03_2301_L6.1.y" | 40 | SRCBRANCH = "MM_04.08.00_2305_L6.1.y" |
40 | SRCREV = "843215344b62de7a91d5880a4b093cd384c7b567" | 41 | SRCREV = "2df72651dcc0ecff9db7c0a96d59c5ca2b9be9d4" |
41 | 42 | ||
42 | S = "${WORKDIR}/git" | 43 | S = "${WORKDIR}/git" |
43 | 44 | ||