diff options
-rw-r--r-- | user/gst-plugins-bad/APKBUILD | 19 | ||||
-rw-r--r-- | user/gst-plugins-bad/disable-failing-test.patch | 59 | ||||
-rw-r--r-- | user/gst-plugins-bad/fix-arm-parser-alignment.patch | 32 | ||||
-rw-r--r-- | user/gst-plugins-bad/fix-arm-test-alignment.patch | 35 | ||||
-rw-r--r-- | user/gst-plugins-bad/mpegts.patch | 120 | ||||
-rw-r--r-- | user/gst-plugins-base/APKBUILD | 22 | ||||
-rw-r--r-- | user/gst-plugins-base/endian.patch | 40 | ||||
-rw-r--r-- | user/gst-plugins-good/APKBUILD | 22 | ||||
-rw-r--r-- | user/gst-plugins-good/drop-messages-interval-type.patch | 29 | ||||
-rw-r--r-- | user/gst-plugins-good/fix-arm-test-alignment.patch | 42 | ||||
-rw-r--r-- | user/gst-plugins-good/flvmux-disable-flaky-test.patch | 15 | ||||
-rw-r--r-- | user/gstreamer/APKBUILD | 25 | ||||
-rw-r--r-- | user/gstreamer/disable-tests.patch | 24 | ||||
-rw-r--r-- | user/gstreamer/test-deadlock.patch | 140 | ||||
-rw-r--r-- | user/gstreamer/time64.patch | 60 |
15 files changed, 91 insertions, 593 deletions
diff --git a/user/gst-plugins-bad/APKBUILD b/user/gst-plugins-bad/APKBUILD index b148cc811..4a6cef267 100644 --- a/user/gst-plugins-bad/APKBUILD +++ b/user/gst-plugins-bad/APKBUILD @@ -1,11 +1,12 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-bad -pkgver=1.20.2 -pkgrel=3 +pkgver=1.26.1 +pkgrel=0 pkgdesc="GStreamer multimedia framework - Lower-quality plugins" url="https://gstreamer.freedesktop.org/modules/gst-plugins-good.html" arch="all" +options="!check" # nvidious license="LGPL-2.1+" # rtpmanagerbad depends on rtpmanager # symptom: tests 'rtpsrc' and 'rtpsink' will fail @@ -19,12 +20,7 @@ makedepends="gst-plugins-base-dev gstreamer-dev gobject-introspection-dev meson subpackages="$pkgname-dev $pkgname-lang" ldpath="/usr/lib/gstreamer-1.0" source="https://gstreamer.freedesktop.org/src/$pkgname/$pkgname-$pkgver.tar.xz - camerabin.patch curlhttpsrc.patch - mpegts.patch - fix-arm-test-alignment.patch - fix-arm-parser-alignment.patch - disable-failing-test.patch " build() { @@ -45,10 +41,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="3f98973dc07ead745418e0a30f9f6b5c8d328e3d126f54d92c10ab5da04271768a5c5dffc36ea24ccf8fb516b1e3733be9fb18dc0db419dea4d37d17018f8a70 gst-plugins-bad-1.20.2.tar.xz -7f6023e766895ac8213f9dabd4d8acbeb03f18c2d98fa27865e7656c439e0ea97d02f9e9f0ea98205238ddb8f6473062af524b799d1da0cbe41a3055a11df250 camerabin.patch -d4bf36560db0e6391cfca84f928d7147bb6b170431c521e78253b29f6bccf122309e1f92e241808855dfa112b9a06e17c1b6ed4363e011a0693f82e1bfe7ea3e curlhttpsrc.patch -d70f409f86b072d689d51b87db6e9fb161c0914a381eccbf66f1ffcd61b9a793f9e4087cdd071e615aaa63687c6ee476f023239920dd1ebd0d3cde346031dc86 mpegts.patch -566fbdc37c9f9fb5b671ecffa2f596a95f6431668ff8dd8b91bc827a280b5fb18a8fac3122a38f060263cb3f2d2138805af1e1c324eb619188f982c8cc575221 fix-arm-test-alignment.patch -f394b1643a5d0943e8acd7e9ee11702ce3bbfb27242f3eac140b884ce7bb5dea725ab4bb0a28cbf9d435622dcc68ea0ee0bee1c51a520787c382167dd1e43583 fix-arm-parser-alignment.patch -3c900a5cbe3ac129172f36acd4d9ede2610ceab500515c32a380dabd2d3d3f78d26be0c9521db855d13283b5be154c9407cd6bf5ec59524305170fc2db2572cb disable-failing-test.patch" +sha512sums="69c78970f0396c08fbddbd44e080142688fcd1ecdc0fa88709b934f6c546754904338469ceecd0f16c6a6b8585bf5faec3230426272b7eb2b63a21b9034d94db gst-plugins-bad-1.26.1.tar.xz +d4bf36560db0e6391cfca84f928d7147bb6b170431c521e78253b29f6bccf122309e1f92e241808855dfa112b9a06e17c1b6ed4363e011a0693f82e1bfe7ea3e curlhttpsrc.patch" diff --git a/user/gst-plugins-bad/disable-failing-test.patch b/user/gst-plugins-bad/disable-failing-test.patch deleted file mode 100644 index b650bf519..000000000 --- a/user/gst-plugins-bad/disable-failing-test.patch +++ /dev/null @@ -1,59 +0,0 @@ -This patch was modified from upstream in the following way(s): - -* Adjust paths so that it applies to this subproject. - -From 81e7bde67c7aa4de2f846db1ed619771613259da Mon Sep 17 00:00:00 2001 -From: Edward Hervey <edward@centricular.com> -Date: Thu, 5 Sep 2024 10:08:17 +0200 -Subject: [PATCH] check: Disable failing test - -Test hasn't been properly fixed for several years with modern libsoup, and it -only for the legacy adaptive demuxer. - -Fixes #3783 - -Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454> ---- - .../gst-plugins-bad/tests/check/elements/dash_mpd.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c b/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c -index 1d347b0a54ea..91d6cc505d91 100644 ---- a/tests/check/elements/dash_mpd.c -+++ b/tests/check/elements/dash_mpd.c -@@ -5999,6 +5999,12 @@ GST_START_TEST (dash_mpdparser_maximum_segment_duration) - - GST_END_TEST; - -+#if 0 -+/* -+ * Test disabled due to failures with recent libsoup -+*/ -+ -+ - /* - * Test parsing of Perioud using @xlink:href attribute - */ -@@ -6103,6 +6109,7 @@ GST_START_TEST (dash_mpdparser_xlink_period) - - GST_END_TEST; - -+#endif - - /* - * Test parsing xsd:datetime with timezoneoffset. -@@ -6658,8 +6665,11 @@ dash_suite (void) - tcase_add_test (tc_simpleMPD, dash_mpdparser_various_duration_formats); - tcase_add_test (tc_simpleMPD, dash_mpdparser_default_presentation_delay); - -+#if 0 -+ /* Test disabled due to failure with libsoup */ - /* tests checking xlink attributes */ - tcase_add_test (tc_simpleMPD, dash_mpdparser_xlink_period); -+#endif - - /* tests checking the MPD management - * (eg. setting active streams, obtaining attributes values) --- -GitLab - diff --git a/user/gst-plugins-bad/fix-arm-parser-alignment.patch b/user/gst-plugins-bad/fix-arm-parser-alignment.patch deleted file mode 100644 index 63715380e..000000000 --- a/user/gst-plugins-bad/fix-arm-parser-alignment.patch +++ /dev/null @@ -1,32 +0,0 @@ -This patch differs from upstream in the following way(s): - - * Paths changed to accommodate 'builddir' - -From 10930661ee8ab2f43078ece482c33ca74c2440fb Mon Sep 17 00:00:00 2001 -From: Zach van Rijn <me@zv.io> -Date: Thu, 13 Jun 2024 09:11:30 -0500 -Subject: [PATCH] pcapparse: Avoid unaligned memory access - -Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3602 ---- - subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c b/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c -index 53e7ef6fc25..0a9c9a6063b 100644 ---- a/gst/pcapparse/gstpcapparse.c -+++ b/gst/pcapparse/gstpcapparse.c -@@ -456,8 +456,8 @@ gst_pcap_parse_scan_frame (GstPcapParse * self, - return FALSE; - - /* ip info */ -- ip_src_addr = *((guint32 *) (buf_ip + 12)); -- ip_dst_addr = *((guint32 *) (buf_ip + 16)); -+ memcpy(&ip_src_addr, buf_ip + 12, sizeof(ip_src_addr)); -+ memcpy(&ip_dst_addr, buf_ip + 16, sizeof(ip_dst_addr)); - buf_proto = buf_ip + ip_header_size; - ip_packet_len = GUINT16_FROM_BE (*(guint16 *) (buf_ip + 2)); - --- -GitLab - diff --git a/user/gst-plugins-bad/fix-arm-test-alignment.patch b/user/gst-plugins-bad/fix-arm-test-alignment.patch deleted file mode 100644 index 1a03eafa7..000000000 --- a/user/gst-plugins-bad/fix-arm-test-alignment.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 57a1296d5913b222be87ccee1ae981b84931a7da Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Tue, 13 Jun 2023 01:29:14 +0100 -Subject: [PATCH 2/2] asfmux: fix potentially unaligned write on 32-bit ARM - -Fixes #2665 ---- - .../gst-plugins-bad/gst/asfmux/gstasfobjects.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -diff --git a/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c b/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c -index d9739826384..fa0f2849d17 100644 ---- a/gst/asfmux/gstasfobjects.c -+++ b/gst/asfmux/gstasfobjects.c -@@ -311,14 +311,10 @@ gst_asf_put_time (guint8 * buf, guint64 time) - void - gst_asf_put_guid (guint8 * buf, Guid guid) - { -- guint32 *aux32 = (guint32 *) buf; -- guint16 *aux16 = (guint16 *) & (buf[4]); -- guint64 *aux64 = (guint64 *) & (buf[8]); -- *aux32 = GUINT32_TO_LE (guid.v1); -- *aux16 = GUINT16_TO_LE (guid.v2); -- aux16 = (guint16 *) & (buf[6]); -- *aux16 = GUINT16_TO_LE (guid.v3); -- *aux64 = GUINT64_TO_BE (guid.v4); -+ GST_WRITE_UINT32_LE (buf + 0, guid.v1); -+ GST_WRITE_UINT16_LE (buf + 4, guid.v2); -+ GST_WRITE_UINT16_LE (buf + 6, guid.v3); -+ GST_WRITE_UINT64_BE (buf + 8, guid.v4); - } - - /** --- -GitLab diff --git a/user/gst-plugins-bad/mpegts.patch b/user/gst-plugins-bad/mpegts.patch deleted file mode 100644 index 1579c4e32..000000000 --- a/user/gst-plugins-bad/mpegts.patch +++ /dev/null @@ -1,120 +0,0 @@ -https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1314 - ---- gst-plugins-bad-1.20.2/gst-libs/gst/mpegts/gstmpegtsdescriptor.c.old 2022-05-02 17:29:29.000000000 -0500 -+++ gst-plugins-bad-1.20.2/gst-libs/gst/mpegts/gstmpegtsdescriptor.c 2022-07-02 23:19:51.027302943 -0500 -@@ -296,7 +296,7 @@ - dvb_text_from_utf8 (const gchar * text, gsize * out_size) - { - GError *error = NULL; -- gchar *out_text; -+ gchar *out_text = NULL; - guint8 *out_buffer; - guint encoding; - GIConv giconv = (GIConv) - 1; -@@ -304,7 +304,8 @@ - /* We test character maps one-by-one. Start with the default */ - encoding = _ICONV_ISO6937; - giconv = _get_iconv (_ICONV_UTF8, encoding); -- out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error); -+ if (giconv != (GIConv) - 1) -+ out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error); - - if (out_text) { - GST_DEBUG ("Using default ISO6937 encoding"); ---- gst-plugins-bad-1.20.2/tests/check/libs/mpegts.c.old 2022-05-02 17:29:29.000000000 -0500 -+++ gst-plugins-bad-1.20.2/tests/check/libs/mpegts.c 2022-07-02 23:41:27.379013955 -0500 -@@ -71,6 +71,14 @@ - 0xc0, 0x00, 0xc4, 0x86, 0x56, 0xa5 - }; - -+static gboolean -+_has_iso6937_iconv (void) -+{ -+ GIConv test = (GIConv) - 1; -+ test = g_iconv_open("iso6937", "utf-8"); -+ return (test != (GIConv) - 1); -+} -+ - GST_START_TEST (test_scte_sit) - { - GstMpegtsSCTESIT *sit; -@@ -397,11 +405,12 @@ - - fail_if (data == NULL); - -- for (i = 0; i < data_size; i++) { -- if (data[i] != nit_data_check[i]) -- fail ("0x%X != 0x%X in byte %d of NIT section", data[i], -- nit_data_check[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < data_size; i++) { -+ if (data[i] != nit_data_check[i]) -+ fail ("0x%X != 0x%X in byte %d of NIT section", data[i], -+ nit_data_check[i], i); -+ } - - /* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */ - nit_section->data[nit_section->section_length - 1]++; -@@ -486,11 +495,12 @@ - - fail_if (data == NULL); - -- for (i = 0; i < data_size; i++) { -- if (data[i] != sdt_data_check[i]) -- fail ("0x%X != 0x%X in byte %d of SDT section", data[i], -- sdt_data_check[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < data_size; i++) { -+ if (data[i] != sdt_data_check[i]) -+ fail ("0x%X != 0x%X in byte %d of SDT section", data[i], -+ sdt_data_check[i], i); -+ } - - /* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */ - sdt_section->data[sdt_section->section_length - 1]++; -@@ -594,14 +604,15 @@ - /* Check creation of descriptor */ - desc = gst_mpegts_descriptor_from_dvb_network_name ("Name"); - fail_if (desc == NULL); -- fail_unless (desc->length == 4); -+ if (_has_iso6937_iconv()) fail_unless (desc->length == 4); - fail_unless (desc->tag == 0x40); - -- for (i = 0; i < 6; i++) { -- if (desc->data[i] != network_name_descriptor[i]) -- fail ("0x%X != 0x%X in byte %d of network name descriptor", -- desc->data[i], network_name_descriptor[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < 6; i++) { -+ if (desc->data[i] != network_name_descriptor[i]) -+ fail ("0x%X != 0x%X in byte %d of network name descriptor", -+ desc->data[i], network_name_descriptor[i], i); -+ } - - /* Check parsing of descriptor */ - ret = gst_mpegts_descriptor_parse_dvb_network_name (desc, &string); -@@ -623,14 +634,15 @@ - desc = gst_mpegts_descriptor_from_dvb_service - (GST_DVB_SERVICE_DIGITAL_TELEVISION, "Name", "Provider"); - fail_if (desc == NULL); -- fail_unless (desc->length == 15); -+ if (_has_iso6937_iconv()) fail_unless (desc->length == 15); - fail_unless (desc->tag == 0x48); - -- for (i = 0; i < 17; i++) { -- if (desc->data[i] != service_descriptor[i]) -- fail ("0x%X != 0x%X in byte %d of service descriptor", -- desc->data[i], service_descriptor[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < 17; i++) { -+ if (desc->data[i] != service_descriptor[i]) -+ fail ("0x%X != 0x%X in byte %d of service descriptor", -+ desc->data[i], service_descriptor[i], i); -+ } - - /* Check parsing of descriptor with data */ - ret = gst_mpegts_descriptor_parse_dvb_service diff --git a/user/gst-plugins-base/APKBUILD b/user/gst-plugins-base/APKBUILD index 6a89cb469..9aa2afd80 100644 --- a/user/gst-plugins-base/APKBUILD +++ b/user/gst-plugins-base/APKBUILD @@ -1,11 +1,10 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-base -pkgver=1.20.1 -pkgrel=1 +pkgver=1.26.1 +pkgrel=0 pkgdesc="GStreamer multimedia framework - Base plugins" url="https://gstreamer.freedesktop.org/" arch="all" -options="!check" # fails overlaycomposition on ppc64 license="GPL LGPL" depends="" makedepends="alsa-lib-dev cdparanoia-dev expat-dev glib-dev iso-codes-dev @@ -15,27 +14,30 @@ makedepends="alsa-lib-dev cdparanoia-dev expat-dev glib-dev iso-codes-dev orc-compiler orc-dev pango-dev wayland-dev wayland-protocols !gst-plugins-base" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz" +source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz + endian.patch + " ldpath="/usr/lib/gstreamer-1.0" build() { - meson \ + meson setup \ --wrap-mode=nofallback \ -Dprefix=/usr \ -Dintrospection=enabled \ -Dnls=enabled \ -Dpackage-name="GStreamer Base Plugins (${DISTRO_NAME:-Adélie Linux})" \ -Dpackage-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \ - _build - ninja -C _build + build + meson compile -C build } check() { - ninja -C _build test + meson test -C build } package() { - DESTDIR="$pkgdir" ninja -C _build install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="679a0eee1973fa9612e2e24978e2c2d9d8fdc5732e1699b4a87712881f1549d0811719a13ff4fe77b91322ca4425c39623b371703f6b3a36fb7238b977d3e541 gst-plugins-base-1.20.1.tar.xz" +sha512sums="b0c491755856af37fd8416af57b782ba04cfdf4298947a521ece90b4723fcf331199f428c74fafb37b3094a8172a0d409d20079544f7424fd6c089574313e296 gst-plugins-base-1.26.1.tar.xz +b44763d6b380bb51d246b64019078ee621a2d64a00f29f12039fd52aafd1c24e204350ea5c967c2fecb298075f6e45f62d16c3116d20aca8da557ace84ba0744 endian.patch" diff --git a/user/gst-plugins-base/endian.patch b/user/gst-plugins-base/endian.patch new file mode 100644 index 000000000..ed06e7c7f --- /dev/null +++ b/user/gst-plugins-base/endian.patch @@ -0,0 +1,40 @@ +--- gst-plugins-base-1.26.1/gst/videoconvertscale/gstvideoconvertscale.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-base-1.26.1/gst/videoconvertscale/gstvideoconvertscale.c 2025-05-11 14:05:05.042191384 -0500 +@@ -1407,8 +1407,13 @@ + g_return_val_if_fail (gst_value_is_fixed (from_par), othercaps); + + gst_video_convert_scale_get_fraction (from_par, &from_par_n, &from_par_d); +- gst_structure_get (ins, +- "width", G_TYPE_INT, &from_w, "height", G_TYPE_INT, &from_h, NULL); ++ { ++ gint wi = 0, hi = 0; ++ gst_structure_get (ins, ++ "width", G_TYPE_INT, &wi, "height", G_TYPE_INT, &hi, NULL); ++ from_w = wi; ++ from_h = hi; ++ } + + { + gint wi = 0, hi = 0; +--- gst-plugins-base-1.26.1/tests/check/elements/audiomixer.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-base-1.26.1/tests/check/elements/audiomixer.c 2025-05-11 14:06:12.944933423 -0500 +@@ -2125,12 +2125,18 @@ + gst_message_unref (msg); + } + ++#if G_BYTE_ORDER == G_LITTLE_ENDIAN ++#define AUDIO_FMT "S16LE" ++#else ++#define AUDIO_FMT "S16BE" ++#endif ++ + GST_START_TEST (test_qos_message_live) + { + GstBus *bus = gst_bus_new (); + GstHarness *h, *h2; + GstBuffer *b; +- static const char *caps_str = "audio/x-raw, format=(string)S16LE, " ++ static const char *caps_str = "audio/x-raw, format=(string)" AUDIO_FMT ", " + "rate=(int)1000, channels=(int)1, layout=(string)interleaved"; + GstMessage *msg; + GstPad *pad; diff --git a/user/gst-plugins-good/APKBUILD b/user/gst-plugins-good/APKBUILD index bc8624aa0..2570bf9df 100644 --- a/user/gst-plugins-good/APKBUILD +++ b/user/gst-plugins-good/APKBUILD @@ -1,8 +1,8 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-good -pkgver=1.20.2 -pkgrel=2 +pkgver=1.26.1 +pkgrel=0 pkgdesc="GStreamer multimedia framework - Free, well-written plugins" url="https://gstreamer.freedesktop.org/modules/gst-plugins-good.html" arch="all" @@ -18,27 +18,26 @@ makedepends="gst-plugins-base-dev gstreamer-dev gobject-introspection-dev subpackages="$pkgname-gtk $pkgname-lang" ldpath="/usr/lib/gstreamer-1.0" source="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-$pkgver.tar.xz - drop-messages-interval-type.patch - fix-arm-test-alignment.patch + flvmux-disable-flaky-test.patch " build() { - meson \ + meson setup \ -Dprefix=/usr \ -Dnls=enabled \ -Dorc=disabled \ -Dpackage-name="GStreamer Good Plugins (${DISTRO_NAME:-Adélie Linux})" \ -Dpackage-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \ - _build - ninja -C _build + build + meson compile -C build } check() { - ninja -C _build test + meson test -C build } package() { - DESTDIR="$pkgdir" ninja -C _build install + DESTDIR="$pkgdir" meson install -C build } gtk() { @@ -51,6 +50,5 @@ gtk() { "$subpkgdir"/usr/lib/gstreamer-1.0/ } -sha512sums="a10ea48fdfbe741e9bc63036b011748558f89968aaa525380ac99884c27463d190c0b49e2d98b4f554eee6ead8a5c5da3ba62e5b0b1fe54877598beccc68a933 gst-plugins-good-1.20.2.tar.xz -0f08a08d6f0e8303a9c899c5260f6ca2c0e0a41e1ca2a9c795c1cb1267a9003354cd0e5538022049a09784ba9000a4a60b7a0b07b38a18483ec30d9a86356e46 drop-messages-interval-type.patch -b08c5013100dff428125dca9075641a8c528ccdcdf005b66b286cfe3b8b6f80c4b04f41d768883e98112107b857e17af68e2864a331f379bd7ea5027adc641d8 fix-arm-test-alignment.patch" +sha512sums="ce096c912e6dfdec5c6e815b712e949296a18ea358cdb124997f256b1fbf8a68db9fc75c4e05a69a2cecd20de1a6bdb3fcfe4422f6d81b6f887ee484b5d1a556 gst-plugins-good-1.26.1.tar.xz +d31d0f70703efb13fbe919f008e1029a08649d3220f5689c7aa105cbbfe3c8cda4a2ae0b01bad32cb295ea202a965cb719776bd86f463a7b78d5b091b00e0348 flvmux-disable-flaky-test.patch" diff --git a/user/gst-plugins-good/drop-messages-interval-type.patch b/user/gst-plugins-good/drop-messages-interval-type.patch deleted file mode 100644 index ebf0c1e5a..000000000 --- a/user/gst-plugins-good/drop-messages-interval-type.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-URL: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3580 - -From e91ab24c5777986926bea5e9f0c832f606c9fb52 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Fri, 16 Dec 2022 01:00:46 -0600 -Subject: [PATCH] tests: Cast drop-messages-interval type properly - -The rtpjitterbuffer test drop_messages_interval uses a GstClockTime for -the message drop interval. This property is defined as a guint. On -systems with 64-bit time_t but 32-bit uint, this can cause the -g_object_set function to fail to read the arguments properly. - -Fixes: #1656 ---- - .../gst-plugins-good/tests/check/elements/rtpjitterbuffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - - ---- gst-plugins-good-1.20.2/tests/check/elements/rtpjitterbuffer.c.old 2022-05-02 22:29:29.000000000 +0000 -+++ gst-plugins-good-1.20.2/tests/check/elements/rtpjitterbuffer.c 2022-12-16 07:04:53.663472650 +0000 -@@ -3097,7 +3097,7 @@ - guint num_sent_msg = 0; - - g_object_set (h->element, "post-drop-messages", TRUE, NULL); -- g_object_set (h->element, "drop-messages-interval", interval, NULL); -+ g_object_set (h->element, "drop-messages-interval", (guint)interval, NULL); - next_seqnum = construct_deterministic_initial_state (h, latency_ms); - - /* Create a bus to get the drop message on */ diff --git a/user/gst-plugins-good/fix-arm-test-alignment.patch b/user/gst-plugins-good/fix-arm-test-alignment.patch deleted file mode 100644 index 2b2a6a0c0..000000000 --- a/user/gst-plugins-good/fix-arm-test-alignment.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 57ced2fded938aa08d8727683a1823ae36170fc3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Mon, 12 Jun 2023 19:24:15 +0100 -Subject: [PATCH] tests: rtpbin_buffer_list: fix possible unaligned read on - 32-bit ARM - -Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/689 ---- - .../tests/check/elements/rtpbin_buffer_list.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/subprojects/gst-plugins-good/tests/check/elements/rtpbin_buffer_list.c b/subprojects/gst-plugins-good/tests/check/elements/rtpbin_buffer_list.c -index b804744352a..1c3d5cdd3a7 100644 ---- a/tests/check/elements/rtpbin_buffer_list.c -+++ b/tests/check/elements/rtpbin_buffer_list.c -@@ -25,6 +25,12 @@ - #include <gst/rtp/gstrtpbuffer.h> - #include <gst/rtp/gstrtcpbuffer.h> - -+#if G_BYTE_ORDER == G_BIG_ENDIAN -+#define READ_UINT64(mem) GST_READ_UINT64_BE(mem) -+#else -+#define READ_UINT64(mem) GST_READ_UINT64_LE(mem) -+#endif -+ - /* UDP/IP is assumed for bandwidth calculation */ - #define UDP_IP_HEADER_OVERHEAD 28 - -@@ -236,8 +242,8 @@ check_header (GstBuffer * buffer, guint index) - * most likely be changed in gstrtpbin. - */ - fail_unless (info.data != NULL); -- fail_unless_equals_uint64 (*(guint64 *) info.data, -- *(guint64 *) rtp_header[index]); -+ fail_unless_equals_uint64 (READ_UINT64 (info.data), -+ READ_UINT64 (rtp_header[index])); - fail_unless (*(guint16 *) (info.data + 12) == - *(guint16 *) (rtp_header[index] + 12)); - --- -GitLab - diff --git a/user/gst-plugins-good/flvmux-disable-flaky-test.patch b/user/gst-plugins-good/flvmux-disable-flaky-test.patch new file mode 100644 index 000000000..ef2d3feb3 --- /dev/null +++ b/user/gst-plugins-good/flvmux-disable-flaky-test.patch @@ -0,0 +1,15 @@ +This test is known flaky and causes a timeout every time on ppc64. + +Upstream-URL: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2803 + +--- gst-plugins-good-1.26.1/tests/check/elements/flvmux.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-good-1.26.1/tests/check/elements/flvmux.c 2025-05-17 17:53:27.568081593 -0500 +@@ -1162,7 +1162,7 @@ + + tcase_add_test (tc_chain, test_speex_streamable); + tcase_add_test (tc_chain, test_increasing_timestamp_when_pts_none); +- tcase_add_test (tc_chain, test_video_caps_late); ++ //tcase_add_test (tc_chain, test_video_caps_late); + tcase_add_test (tc_chain, test_audio_caps_change_streamable); + tcase_add_test (tc_chain, test_video_caps_change_streamable); + tcase_add_test (tc_chain, test_audio_caps_change_streamable_single); diff --git a/user/gstreamer/APKBUILD b/user/gstreamer/APKBUILD index 94c5af1c9..7ee893c50 100644 --- a/user/gstreamer/APKBUILD +++ b/user/gstreamer/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gstreamer -pkgver=1.20.1 +pkgver=1.26.1 pkgrel=0 pkgdesc="GStreamer multimedia framework" url="https://gstreamer.freedesktop.org/" @@ -9,16 +9,12 @@ license="LGPL-2.0+" depends="" depends_dev="libxml2-dev" makedepends="$depends_dev bison flex gobject-introspection-dev glib-dev - meson ninja" + meson" subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-lang" -source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz - disable-tests.patch - test-deadlock.patch - time64.patch - " +source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz" build() { - meson \ + meson setup \ -Dprefix=/usr \ -Dintrospection=enabled \ -Dpackage-name="GStreamer (${DISTRO_NAME:-Adélie Linux})" \ @@ -26,16 +22,16 @@ build() { -Dglib-asserts=disabled \ -Dnls=enabled \ -Dptp-helper-permissions=none \ - _build - ninja -C _build + build + meson compile -C build } check() { - ninja -C _build test + meson test -C build } package() { - DESTDIR="$pkgdir" ninja -C _build install + DESTDIR="$pkgdir" meson install -C build } dev() { @@ -55,7 +51,4 @@ tools() { mv "$pkgdir"/usr/lib/libgstcheck-1.0.so.* "$subpkgdir"/usr/lib/ } -sha512sums="d6f67cce81ba15fba3fcf70850e3c84b25e8da3e53fd56e6f2c87c7ee1701071ea44deb754a0ea371b3cb17877f26aab94d9eccb6729cbb370d6d6d5c324aa1a gstreamer-1.20.1.tar.xz -39e6bfb52ebe85beefa2550eb404f83c5bbb3546cc1733b99e757401d2d182f95d829b90df99d5f43506d7c85d4f44ac797f35653cd42a935f1dc56d0b844c02 disable-tests.patch -d7e574e8715607d3103d46eb05388b781702a9e937d78f8cfab6d8d48d04baa7fbfe547bdeb816bbfddb5a333dd1862e460b057b12ea24704351ef5653f78491 test-deadlock.patch -977a9e689cce68b151a742ef67dbb60a10a55fcfae67f086909e1f0fc4a5998026acd03aeed32068fdb0485dd884c4313f39a63e3bab5baaafa878c439531bc3 time64.patch" +sha512sums="7a5da377fbfb25cacc2d9613a57210c00ca70ee00f3ef4d108a3c98bd6a2cb703b773ca6fd6d9ac7b59b60d0bf0573cff69bdea18e07159ac56ee992613d0a78 gstreamer-1.26.1.tar.xz" diff --git a/user/gstreamer/disable-tests.patch b/user/gstreamer/disable-tests.patch deleted file mode 100644 index 7fc78e9e4..000000000 --- a/user/gstreamer/disable-tests.patch +++ /dev/null @@ -1,24 +0,0 @@ -elements_leaks: - Fails due to heavy parallelisation on ppc64. - It always succeeds when run serially. - -elements_filesink: - Seems to be disabled on other musl distros as well. - Filed at: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1194 - ---- gstreamer-1.20.1/tests/check/meson.build.old 2022-03-14 06:33:40.000000000 -0500 -+++ gstreamer-1.20.1/tests/check/meson.build 2022-05-02 01:55:00.352168066 -0500 -@@ -84,11 +84,11 @@ - [ 'elements/fakesrc.c', not gst_registry ], - # FIXME: blocked forever on Windows due to missing fcntl (.. O_NONBLOCK) - [ 'elements/fdsrc.c', not gst_registry or host_system == 'windows' ], -- [ 'elements/filesink.c', not gst_registry ], -+ [ 'elements/filesink.c', true ], - [ 'elements/filesrc.c', not gst_registry ], - [ 'elements/funnel.c', not gst_registry ], - [ 'elements/identity.c', not gst_registry or not gst_parse ], -- [ 'elements/leaks.c', not tracer_hooks or not gst_debug ], -+ [ 'elements/leaks.c', true ], - [ 'elements/multiqueue.c', not gst_registry ], - [ 'elements/selector.c', not gst_registry ], - [ 'elements/streamiddemux.c', not gst_registry ], diff --git a/user/gstreamer/test-deadlock.patch b/user/gstreamer/test-deadlock.patch deleted file mode 100644 index b506ca19f..000000000 --- a/user/gstreamer/test-deadlock.patch +++ /dev/null @@ -1,140 +0,0 @@ -From f24595e9d7952e1e957c0973de62e6c3df031c08 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sun, 20 Feb 2022 23:26:10 +0000 -Subject: [PATCH 1/3] gstreamer: tests: make the gstbin pop message more clear - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index e366d5fe20f..06be4c75fbb 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -38,7 +38,7 @@ pop_async_done (GstBus * bus) - == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); - - gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ GST_DEBUG ("popped async-done message"); - } - - static void -@@ -46,14 +46,14 @@ pop_latency (GstBus * bus) - { - GstMessage *message; - -- GST_DEBUG ("popping async-done message"); -+ GST_DEBUG ("popping latency message"); - message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY"); - - gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ GST_DEBUG ("popped latency message"); - } - - static void -@@ -63,7 +63,7 @@ pop_state_changed (GstBus * bus, int count) - - int i; - -- GST_DEBUG ("popping %d messages", count); -+ GST_DEBUG ("popping %d state-changed message", count); - for (i = 0; i < count; ++i) { - message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1); - -@@ -72,7 +72,7 @@ pop_state_changed (GstBus * bus, int count) - - gst_message_unref (message); - } -- GST_DEBUG ("popped %d messages", count); -+ GST_DEBUG ("popped %d state-changed messages", count); - } - - static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", --- -GitLab - - -From 2c47f61c69702572bf666ad9ecaf59710f4a342c Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sun, 20 Feb 2022 23:28:00 +0000 -Subject: [PATCH 2/3] gstreamer: tests: add a timeout in gstbin pop functions - instaed of wait forever - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index 06be4c75fbb..c837d0e7e8a 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -32,7 +32,7 @@ pop_async_done (GstBus * bus) - GstMessage *message; - - GST_DEBUG ("popping async-done message"); -- message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); -@@ -47,7 +47,7 @@ pop_latency (GstBus * bus) - GstMessage *message; - - GST_DEBUG ("popping latency message"); -- message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY"); -@@ -65,7 +65,7 @@ pop_state_changed (GstBus * bus, int count) - - GST_DEBUG ("popping %d state-changed message", count); - for (i = 0; i < count; ++i) { -- message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED"); --- -GitLab - - -From 686add28e21ae0031f9e3b07f9fb5cd4d5d19bc5 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Mon, 21 Feb 2022 23:06:07 +0000 -Subject: [PATCH 3/3] gstreamer: tests: fix gstbin deadlock - -this is a bit ugly but if the latency message is lost -the pop_latency will hang forever. - -Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778 - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index c837d0e7e8a..5d9a09171aa 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -741,7 +741,8 @@ GST_START_TEST (test_watch_for_state_change) - pop_state_changed (bus, 3); - if (ret == GST_STATE_CHANGE_ASYNC) { - pop_async_done (bus); -- pop_latency (bus); -+ if (gst_bus_have_pending (bus)) -+ pop_latency (bus); - } - - fail_unless (gst_bus_have_pending (bus) == FALSE, --- -GitLab - diff --git a/user/gstreamer/time64.patch b/user/gstreamer/time64.patch deleted file mode 100644 index 89c88c380..000000000 --- a/user/gstreamer/time64.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 664fc63a246cba97e202f712aa48105f46a9ff69 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> -Date: Mon, 12 Dec 2022 11:34:51 +0200 -Subject: [PATCH] systemclock: Use `futex_time64` syscall on x32 and other - platforms that always use a 32-bit `struct timespec` for the normal `futex` - syscall - -See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634 ---- - gst/gstsystemclock.c | 26 +++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c -index 6d0b6ec47b6..8c396d2c7b4 100644 ---- a/gst/gstsystemclock.c -+++ b/gst/gstsystemclock.c -@@ -130,7 +130,31 @@ gst_futex_cond_broadcast (guint * cond_val) - static gboolean - gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time) - { -+ /* On x32 (ILP32 ABI on x86_64) and potentially sparc64, the raw futex() -+ * syscall takes a 32-bit timespan argument *regardless* of whether userspace -+ * is using 32-bit or 64-bit `struct timespec`. This means that we can’t -+ * unconditionally pass a `struct timespec` pointer into the syscall. -+ * -+ * Assume that any such platform is new enough to define the -+ * `__NR_futex_time64` workaround syscall (which accepts 64-bit timespecs, -+ * introduced in kernel 5.1), and use that to pass a 64-bit timespec instead. -+ * -+ * `clock_gettime()` on such systems will either return a 32-bit `struct -+ * timespec`, in which case the values we will get passed in here are -+ * already not y2038-safe, or `struct timespec` is using 64-bit `time_t` and -+ * everything is fine. -+ */ -+#ifdef __NR_futex_time64 -+ struct -+ { -+ gint64 tv_sec; -+ gint64 tv_nsec; -+ } end; -+ const long int futex_syscall_id = __NR_futex_time64; -+#else - struct timespec end; -+ const long int futex_syscall_id = __NR_futex; -+#endif - guint sampled; - int res; - gboolean success; -@@ -146,7 +170,7 @@ gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time) - /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be - * able to use absolute time */ - res = -- syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE, -+ syscall (futex_syscall_id, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE, - (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY); - success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE; - g_mutex_lock (mutex); --- -GitLab - |