Diff
Modified: trunk/Tools/buildstream/ChangeLog (275031 => 275032)
--- trunk/Tools/buildstream/ChangeLog 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/ChangeLog 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,3 +1,18 @@
+2021-03-25 Philippe Normand <[email protected]>
+
+ [Flatpak SDK] Update to GStreamer 1.18.4
+ https://bugs.webkit.org/show_bug.cgi?id=223644
+
+ Reviewed by Adrian Perez de Castro.
+
+ * elements/sdk/gst-libav.bst:
+ * elements/sdk/gst-plugins-bad.bst:
+ * elements/sdk/gst-plugins-base.bst:
+ * elements/sdk/gst-plugins-good.bst:
+ * elements/sdk/gst-plugins-ugly.bst:
+ * elements/sdk/gstreamer.bst:
+ * patches/gst-plugins-base-0001-videodecoder-Fix-racy-critical-when-pool-negotiation.patch: Removed.
+
2021-03-24 Philippe Normand <[email protected]>
[Flatpak SDK] Add nghttp2 client library
Modified: trunk/Tools/buildstream/elements/sdk/gst-libav.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gst-libav.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gst-libav.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,8 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gst-libav/gst-libav-1.18.3.tar.xz
- ref: ad20546bcd78ac1e7cf194666d73c4f33efeb62647d2b6af22993b540699e91c
+ url: gst_downloads:gst-libav/gst-libav-1.18.4.tar.xz
+ ref: 344a463badca216c2cef6ee36f9510c190862bdee48dc4591c0a430df7e8c396
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
- freedesktop-sdk.bst:components/nasm.bst
Modified: trunk/Tools/buildstream/elements/sdk/gst-plugins-bad.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gst-plugins-bad.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gst-plugins-bad.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,8 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gst-plugins-bad/gst-plugins-bad-1.18.3.tar.xz
- ref: b7e34b6b86272588fbd8b314dadfa6ceff895198cfb59e2950378e9e31ff22e0
+ url: gst_downloads:gst-plugins-bad/gst-plugins-bad-1.18.4.tar.xz
+ ref: 74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
depends:
Modified: trunk/Tools/buildstream/elements/sdk/gst-plugins-base.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gst-plugins-base.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gst-plugins-base.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,11 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gst-plugins-base/gst-plugins-base-1.18.3.tar.xz
- ref: dbfa20283848f0347a223dd8523dfb62e09e5220b21b1d157a8b0c8b67ba9f52
-# Backport of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1031 to be shipped in 1.18.4
-- kind: patch
- path: patches/gst-plugins-base-0001-videodecoder-Fix-racy-critical-when-pool-negotiation.patch
+ url: gst_downloads:gst-plugins-base/gst-plugins-base-1.18.4.tar.xz
+ ref: 29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
depends:
Modified: trunk/Tools/buildstream/elements/sdk/gst-plugins-good.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gst-plugins-good.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gst-plugins-good.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,8 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gst-plugins-good/gst-plugins-good-1.18.3.tar.xz
- ref: 9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb
+ url: gst_downloads:gst-plugins-good/gst-plugins-good-1.18.4.tar.xz
+ ref: b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
depends:
Modified: trunk/Tools/buildstream/elements/sdk/gst-plugins-ugly.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gst-plugins-ugly.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gst-plugins-ugly.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,8 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gst-plugins-ugly/gst-plugins-ugly-1.18.2.tar.xz
- ref: a337a022ed472209b38cab5918dc2f4e7a6adc1f4afacd226a6345e5cb668bdb
+ url: gst_downloads:gst-plugins-ugly/gst-plugins-ugly-1.18.4.tar.xz
+ ref: 218df0ce0d31e8ca9cdeb01a3b0c573172cc9c21bb3d41811c7820145623d13c
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
depends:
Modified: trunk/Tools/buildstream/elements/sdk/gstreamer.bst (275031 => 275032)
--- trunk/Tools/buildstream/elements/sdk/gstreamer.bst 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/elements/sdk/gstreamer.bst 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,8 +1,8 @@
kind: meson
sources:
- kind: tar
- url: gst_downloads:gstreamer/gstreamer-1.18.3.tar.xz
- ref: 0c2e09e18f2df69a99b5cb3bd53c597b3cc2e35cf6c98043bb86a66f3d312100
+ url: gst_downloads:gstreamer/gstreamer-1.18.4.tar.xz
+ ref: 9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5
# Backport of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/679 to be shipped in 1.20.
- kind: patch
path: patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch
Deleted: trunk/Tools/buildstream/patches/gst-plugins-base-0001-videodecoder-Fix-racy-critical-when-pool-negotiation.patch (275031 => 275032)
--- trunk/Tools/buildstream/patches/gst-plugins-base-0001-videodecoder-Fix-racy-critical-when-pool-negotiation.patch 2021-03-25 14:34:25 UTC (rev 275031)
+++ trunk/Tools/buildstream/patches/gst-plugins-base-0001-videodecoder-Fix-racy-critical-when-pool-negotiation.patch 2021-03-25 15:03:41 UTC (rev 275032)
@@ -1,76 +0,0 @@
-From b944a254cb9768ca158d0a25d5a3df33cc028986 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alicia=20Boya=20Garc=C3=ADa?= <[email protected]>
-Date: Sat, 13 Feb 2021 00:27:04 +0100
-Subject: [PATCH] videodecoder: Fix racy critical when pool negotiation occurs
- during flush
-
-I found a rather reproducible race in a WebKit LayoutTest when a player
-was intantiated and a VP8/9 video was loaded, then torn down after
-getting the video dimensions from the caps.
-
-The crash occurs during the handling of the first frame by gstvpxdec.
-The following actions happen sequentially leading to a crash.
-
-(MT=Main Thread, ST=Streaming Thread)
-
-MT: Sets pipeline state to NULL, which deactivates vpxdec's srcpad,
- which in turn sets its FLUSHING flag.
-
-ST: gst_vpx_dec_handle_frame() -- which is still running -- calls
- gst_video_decoder_allocate_output_frame(); this in turn calls
- gst_video_decoder_negotiate_unlocked() which fails because the
- srcpad is FLUSHING. As a direct consequence of the negotiation
- failure, a pool is NOT set.
-
- gst_video_decoder_negotiate_unlocked() still assumes there is a
- pool, crashing in a critical in gst_buffer_pool_acquire_buffer()
- a couple statements later.
-
-This patch fixes the bug by returning != GST_FLOW_OK when the
-negotiation fails. If the srcpad is FLUSHING, GST_FLOW_FLUSHING is
-returned, otherwise GST_FLOW_ERROR is used.
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1037>
----
- gst-libs/gst/video/gstvideodecoder.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
-index f687e3996b..935a2ff3a6 100644
---- a/gst-libs/gst/video/gstvideodecoder.c
-+++ b/gst-libs/gst/video/gstvideodecoder.c
-@@ -4258,8 +4258,19 @@ gst_video_decoder_allocate_output_frame_with_params (GstVideoDecoder *
- needs_reconfigure = gst_pad_check_reconfigure (decoder->srcpad);
- if (G_UNLIKELY (decoder->priv->output_state_changed || needs_reconfigure)) {
- if (!gst_video_decoder_negotiate_unlocked (decoder)) {
-- GST_DEBUG_OBJECT (decoder, "Failed to negotiate, fallback allocation");
- gst_pad_mark_reconfigure (decoder->srcpad);
-+ if (GST_PAD_IS_FLUSHING (decoder->srcpad)) {
-+ GST_DEBUG_OBJECT (decoder,
-+ "Failed to negotiate a pool: pad is flushing");
-+ goto flushing;
-+ } else if (!decoder->priv->pool || decoder->priv->output_state_changed) {
-+ GST_DEBUG_OBJECT (decoder,
-+ "Failed to negotiate a pool and no previous pool to reuse");
-+ goto error;
-+ } else {
-+ GST_DEBUG_OBJECT (decoder,
-+ "Failed to negotiate a pool, falling back to the previous pool");
-+ }
- }
- }
-
-@@ -4272,6 +4283,10 @@ gst_video_decoder_allocate_output_frame_with_params (GstVideoDecoder *
-
- return flow_ret;
-
-+flushing:
-+ GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
-+ return GST_FLOW_FLUSHING;
-+
- error:
- GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
- return GST_FLOW_ERROR;
---
-2.29.2
-