Title: [275032] trunk/Tools/buildstream
Revision
275032
Author
[email protected]
Date
2021-03-25 08:03:41 -0700 (Thu, 25 Mar 2021)

Log Message

[Flatpak SDK] Update to GStreamer 1.18.4
https://bugs.webkit.org/show_bug.cgi?id=223644

Patch by Philippe Normand <[email protected]> on 2021-03-25
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.

Modified Paths

Removed Paths

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
-
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to