From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D96A1158064 for ; Tue, 30 Apr 2024 08:28:12 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 13D3BE2A2C; Tue, 30 Apr 2024 08:28:09 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C8133E2A28 for ; Tue, 30 Apr 2024 08:28:08 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0D45D3430B8 for ; Tue, 30 Apr 2024 08:28:08 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B277417AC for ; Tue, 30 Apr 2024 08:28:04 +0000 (UTC) From: "Mart Raudsepp" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mart Raudsepp" Message-ID: <1714465428.15881aaf14c79dc8bd18060646ec2d69e556fd07.leio@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/gstreamer/files/, media-libs/gstreamer/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-libs/gstreamer/Manifest media-libs/gstreamer/files/gstreamer-1.20.5-tests-race.patch media-libs/gstreamer/gstreamer-1.20.5.ebuild media-libs/gstreamer/gstreamer-1.20.6.ebuild X-VCS-Directories: media-libs/gstreamer/ media-libs/gstreamer/files/ X-VCS-Committer: leio X-VCS-Committer-Name: Mart Raudsepp X-VCS-Revision: 15881aaf14c79dc8bd18060646ec2d69e556fd07 X-VCS-Branch: master Date: Tue, 30 Apr 2024 08:28:04 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 54d57230-b922-4396-b8fe-ec030819ba49 X-Archives-Hash: 5b0f2f25f77ab207f48f92fb30b7af62 commit: 15881aaf14c79dc8bd18060646ec2d69e556fd07 Author: Mart Raudsepp gentoo org> AuthorDate: Tue Apr 30 07:50:05 2024 +0000 Commit: Mart Raudsepp gentoo org> CommitDate: Tue Apr 30 08:23:48 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15881aaf media-libs/gstreamer: drop 1.20.5, 1.20.6 Bug: https://bugs.gentoo.org/917791 Signed-off-by: Mart Raudsepp gentoo.org> media-libs/gstreamer/Manifest | 2 - .../files/gstreamer-1.20.5-tests-race.patch | 293 --------------------- media-libs/gstreamer/gstreamer-1.20.5.ebuild | 76 ------ media-libs/gstreamer/gstreamer-1.20.6.ebuild | 72 ----- 4 files changed, 443 deletions(-) diff --git a/media-libs/gstreamer/Manifest b/media-libs/gstreamer/Manifest index 0240c9b8ad80..4e39f93eb248 100644 --- a/media-libs/gstreamer/Manifest +++ b/media-libs/gstreamer/Manifest @@ -1,3 +1 @@ -DIST gstreamer-1.20.5.tar.xz 2690968 BLAKE2B cca6385b1fcc10928ad19e587ebb6ce202097f4a33d79555c969d3906dacc7e5074fc8f42a0566e40aa333502764ad0b491d610c05ef1921ad370bf5f5883afd SHA512 90c5f5865877170bb0dc570e61c22c27dea5adae2d9c304227da266b5b5b2eccd98ed21943f14bb5dfe169f4e020b8ac457a5d540363dfe2547180f34a3c7b29 -DIST gstreamer-1.20.6.tar.xz 2699648 BLAKE2B e475a7ef419d1b3588bf37f3d5fadbe4ca307b6915496d8da9535a9586f24ddacd338e54001ce30c666786493b28c2841c8a7fc8a36e5a678d846eeccc3979dc SHA512 eefd2932feb6c6c50eb69dd4831f4e4fe63c7f852050ddce0f447b0b54df2e2e5f81b6c1fefe295e2c771f2accef62aaef6aef3bda8395a1b75c84b9916d7795 DIST gstreamer-1.22.11.tar.xz 1801248 BLAKE2B 856342994bc8750598cb256313151355e7c58d751214c168c53ba831cfcdf3ab789a192473ba0e0645df8cb7cb9e625348b18cfe83d839f1f231f8f746877f49 SHA512 8976cebd2cbac3ef31ee6163d2c5264be7d10d54ab9fe6f0b2317d7d0380420ef2378e1b476af09f1e6b203e3eafcda88fc08bb2f550a6f411d8670dec04843e diff --git a/media-libs/gstreamer/files/gstreamer-1.20.5-tests-race.patch b/media-libs/gstreamer/files/gstreamer-1.20.5-tests-race.patch deleted file mode 100644 index 05b183ec3054..000000000000 --- a/media-libs/gstreamer/files/gstreamer-1.20.5-tests-race.patch +++ /dev/null @@ -1,293 +0,0 @@ -https://bugs.gentoo.org/888986 -https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/ccd582c3321312fe96b28ce90fe6f2fd7adfa058 - -From ccd582c3321312fe96b28ce90fe6f2fd7adfa058 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Tue, 21 Jun 2022 11:51:35 +0300 -Subject: [PATCH] bin: Fix race conditions in tests - -The latency messages are non-deterministic and can arrive before/after -async-done or during state-changes as they are posted by e.g. sinks from -their streaming thread but bins are finishing asynchronous state changes -from a secondary helper thread. - -To solve this, expect latency messages at any time and assert that we -receive one at some point during the test. - -Part-of: ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -27,50 +27,95 @@ - #include - - static void --pop_async_done (GstBus * bus) -+pop_async_done (GstBus * bus, gboolean * had_latency) - { - GstMessage *message; -+ GstMessageType types = GST_MESSAGE_ASYNC_DONE; -+ -+ if (!*had_latency) -+ types |= GST_MESSAGE_LATENCY; - - GST_DEBUG ("popping async-done message"); -- message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1); - -- fail_unless (message && GST_MESSAGE_TYPE (message) -- == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); -+ do { -+ message = gst_bus_poll (bus, types, -1); - -- gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ fail_unless (message); -+ GST_DEBUG ("popped message %s", -+ gst_message_type_get_name (GST_MESSAGE_TYPE (message))); -+ -+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) { -+ fail_unless (*had_latency == FALSE); -+ *had_latency = TRUE; -+ gst_clear_message (&message); -+ types &= ~GST_MESSAGE_LATENCY; -+ continue; -+ } -+ -+ fail_unless (GST_MESSAGE_TYPE (message) -+ == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); -+ -+ gst_clear_message (&message); -+ break; -+ } while (TRUE); - } - - static void --pop_latency (GstBus * bus) -+pop_latency (GstBus * bus, gboolean * had_latency) - { - GstMessage *message; - -- GST_DEBUG ("popping async-done message"); -+ if (*had_latency) -+ return; -+ -+ GST_DEBUG ("popping latency message"); - message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1); - -- fail_unless (message && GST_MESSAGE_TYPE (message) -+ fail_unless (message); -+ fail_unless (GST_MESSAGE_TYPE (message) - == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY"); - -- gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ GST_DEBUG ("popped message %s", -+ gst_message_type_get_name (GST_MESSAGE_TYPE (message))); -+ gst_clear_message (&message); -+ -+ *had_latency = TRUE; - } - - static void --pop_state_changed (GstBus * bus, int count) -+pop_state_changed (GstBus * bus, int count, gboolean * had_latency) - { - GstMessage *message; -- -+ GstMessageType types = GST_MESSAGE_STATE_CHANGED; - int i; - -+ if (!*had_latency) -+ types |= GST_MESSAGE_LATENCY; -+ - GST_DEBUG ("popping %d messages", count); - for (i = 0; i < count; ++i) { -- message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1); -- -- fail_unless (message && GST_MESSAGE_TYPE (message) -- == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED"); -- -- gst_message_unref (message); -+ do { -+ message = gst_bus_poll (bus, types, -1); -+ -+ fail_unless (message); -+ GST_DEBUG ("popped message %s", -+ gst_message_type_get_name (GST_MESSAGE_TYPE (message))); -+ -+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) { -+ fail_unless (*had_latency == FALSE); -+ *had_latency = TRUE; -+ gst_clear_message (&message); -+ types &= ~GST_MESSAGE_LATENCY; -+ continue; -+ } -+ -+ fail_unless (GST_MESSAGE_TYPE (message) -+ == GST_MESSAGE_STATE_CHANGED, -+ "did not get GST_MESSAGE_STATE_CHANGED"); -+ -+ gst_message_unref (message); -+ break; -+ } while (TRUE); - } - GST_DEBUG ("popped %d messages", count); - } -@@ -538,6 +583,7 @@ GST_START_TEST (test_message_state_changed_children) - GstBus *bus; - GstStateChangeReturn ret; - GstState current, pending; -+ gboolean had_latency = FALSE; - - pipeline = GST_PIPELINE (gst_pipeline_new (NULL)); - fail_unless (pipeline != NULL, "Could not create pipeline"); -@@ -576,7 +622,7 @@ GST_START_TEST (test_message_state_changed_children) - ASSERT_OBJECT_REFCOUNT (sink, "sink", 2); - ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 2); - -- pop_state_changed (bus, 3); -+ pop_state_changed (bus, 3, &had_latency); - fail_if (gst_bus_have_pending (bus), "unexpected pending messages"); - - ASSERT_OBJECT_REFCOUNT (bus, "bus", 2); -@@ -619,9 +665,9 @@ GST_START_TEST (test_message_state_changed_children) - * its state_change message */ - ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4); - -- pop_state_changed (bus, 3); -- pop_async_done (bus); -- pop_latency (bus); -+ pop_state_changed (bus, 3, &had_latency); -+ pop_async_done (bus, &had_latency); -+ pop_latency (bus, &had_latency); - fail_if ((gst_bus_pop (bus)) != NULL); - - ASSERT_OBJECT_REFCOUNT_BETWEEN (bus, "bus", 2, 3); -@@ -648,7 +694,7 @@ GST_START_TEST (test_message_state_changed_children) - ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 4); - ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3); - -- pop_state_changed (bus, 3); -+ pop_state_changed (bus, 3, &had_latency); - fail_if ((gst_bus_pop (bus)) != NULL); - - ASSERT_OBJECT_REFCOUNT (bus, "bus", 2); -@@ -669,7 +715,7 @@ GST_START_TEST (test_message_state_changed_children) - ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 3, 4); - ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3); - -- pop_state_changed (bus, 6); -+ pop_state_changed (bus, 6, &had_latency); - fail_if ((gst_bus_pop (bus)) != NULL); - - ASSERT_OBJECT_REFCOUNT (src, "src", 1); -@@ -696,6 +742,7 @@ GST_START_TEST (test_watch_for_state_change) - GstElement *src, *sink, *bin; - GstBus *bus; - GstStateChangeReturn ret; -+ gboolean had_latency = FALSE; - - bin = gst_element_factory_make ("bin", NULL); - fail_unless (bin != NULL, "Could not create bin"); -@@ -722,9 +769,9 @@ GST_START_TEST (test_watch_for_state_change) - GST_CLOCK_TIME_NONE); - fail_unless (ret == GST_STATE_CHANGE_SUCCESS); - -- pop_state_changed (bus, 6); -- pop_async_done (bus); -- pop_latency (bus); -+ pop_state_changed (bus, 6, &had_latency); -+ pop_async_done (bus, &had_latency); -+ pop_latency (bus, &had_latency); - - fail_unless (gst_bus_have_pending (bus) == FALSE, - "Unexpected messages on bus"); -@@ -732,16 +779,17 @@ GST_START_TEST (test_watch_for_state_change) - ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING); - fail_unless (ret == GST_STATE_CHANGE_SUCCESS); - -- pop_state_changed (bus, 3); -+ pop_state_changed (bus, 3, &had_latency); - -+ had_latency = FALSE; - /* this one might return either SUCCESS or ASYNC, likely SUCCESS */ - ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED); - gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE); - -- pop_state_changed (bus, 3); -+ pop_state_changed (bus, 3, &had_latency); - if (ret == GST_STATE_CHANGE_ASYNC) { -- pop_async_done (bus); -- pop_latency (bus); -+ pop_async_done (bus, &had_latency); -+ pop_latency (bus, &had_latency); - } - - fail_unless (gst_bus_have_pending (bus) == FALSE, -@@ -898,6 +946,7 @@ GST_START_TEST (test_children_state_change_order_flagged_sink) - GstStateChangeReturn ret; - GstState current, pending; - GstBus *bus; -+ gboolean had_latency = FALSE; - - pipeline = gst_pipeline_new (NULL); - fail_unless (pipeline != NULL, "Could not create pipeline"); -@@ -951,10 +1000,11 @@ GST_START_TEST (test_children_state_change_order_flagged_sink) - ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 107); - #else - -- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */ -+ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */ - ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED, - 108); -- pop_async_done (bus); -+ pop_async_done (bus, &had_latency); -+ pop_latency (bus, &had_latency); - #endif - /* PAUSED => PLAYING */ - GST_DEBUG ("popping PAUSED -> PLAYING messages"); -@@ -972,8 +1022,8 @@ GST_START_TEST (test_children_state_change_order_flagged_sink) - fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed"); - - /* TODO: do we need to check downwards state change order as well? */ -- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */ -- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */ -+ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */ -+ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */ - - while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1) - THREAD_SWITCH (); -@@ -1002,6 +1052,7 @@ GST_START_TEST (test_children_state_change_order_semi_sink) - GstStateChangeReturn ret; - GstState current, pending; - GstBus *bus; -+ gboolean had_latency = FALSE; - - /* (2) Now again, but check other code path where we don't have - * a proper sink correctly flagged as such, but a 'semi-sink' */ -@@ -1056,10 +1107,11 @@ GST_START_TEST (test_children_state_change_order_semi_sink) - ASSERT_STATE_CHANGE_MSG (bus, src, GST_STATE_READY, GST_STATE_PAUSED, 206); - ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 207); - #else -- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */ -+ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */ - ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED, - 208); -- pop_async_done (bus); -+ pop_async_done (bus, &had_latency); -+ pop_latency (bus, &had_latency); - - /* PAUSED => PLAYING */ - GST_DEBUG ("popping PAUSED -> PLAYING messages"); -@@ -1076,8 +1128,8 @@ GST_START_TEST (test_children_state_change_order_semi_sink) - fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed"); - - /* TODO: do we need to check downwards state change order as well? */ -- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */ -- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */ -+ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */ -+ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */ - - GST_DEBUG ("waiting for pipeline to reach refcount 1"); - while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1) --- -GitLab diff --git a/media-libs/gstreamer/gstreamer-1.20.5.ebuild b/media-libs/gstreamer/gstreamer-1.20.5.ebuild deleted file mode 100644 index 6d186c17f57c..000000000000 --- a/media-libs/gstreamer/gstreamer-1.20.5.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit gstreamer-meson pax-utils - -DESCRIPTION="Open source multimedia framework" -HOMEPAGE="https://gstreamer.freedesktop.org/" -SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2+" -SLOT="1.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+caps +introspection +orc unwind" - -RDEPEND=" - >=dev-libs/glib-2.56.0:2[${MULTILIB_USEDEP}] - caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.31.1:= ) - unwind? ( - >=sys-libs/libunwind-1.2_rc1[${MULTILIB_USEDEP}] - dev-libs/elfutils[${MULTILIB_USEDEP}] - ) - !