Title: [277111] releases/WebKitGTK/webkit-2.32/Source/WebCore
Revision
277111
Author
[email protected]
Date
2021-05-06 12:41:53 -0700 (Thu, 06 May 2021)

Log Message

Merge r277100 - [WebAudio][GStreamer] socketpair leaks
https://bugs.webkit.org/show_bug.cgi?id=225463

Reviewed by Žan Doberšek.

* platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::~AudioSourceProviderGStreamer): Properly dispose of
the GStreamer pipeline and the resources it has hold on.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcChangeState): The ref returned by gst_buffer_pool_new() is transfer-full,
so we need to adopt it here.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog (277110 => 277111)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-05-06 19:41:15 UTC (rev 277110)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-05-06 19:41:53 UTC (rev 277111)
@@ -1,5 +1,19 @@
 2021-05-06  Philippe Normand  <[email protected]>
 
+        [WebAudio][GStreamer] socketpair leaks
+        https://bugs.webkit.org/show_bug.cgi?id=225463
+
+        Reviewed by Žan Doberšek.
+
+        * platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
+        (WebCore::AudioSourceProviderGStreamer::~AudioSourceProviderGStreamer): Properly dispose of
+        the GStreamer pipeline and the resources it has hold on.
+        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+        (webKitWebAudioSrcChangeState): The ref returned by gst_buffer_pool_new() is transfer-full,
+        so we need to adopt it here.
+
+2021-05-06  Philippe Normand  <[email protected]>
+
         [GStreamer] Fallback to texture mapper video orientation handling when glvideoflip is not available
         https://bugs.webkit.org/show_bug.cgi?id=225454
 

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp (277110 => 277111)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp	2021-05-06 19:41:15 UTC (rev 277110)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp	2021-05-06 19:41:53 UTC (rev 277111)
@@ -118,6 +118,12 @@
     }
 
     setClient(nullptr);
+#if ENABLE(MEDIA_STREAM)
+    if (m_pipeline) {
+        disconnectSimpleBusMessageCallback(m_pipeline.get());
+        gst_element_set_state(m_pipeline.get(), GST_STATE_NULL);
+    }
+#endif
 }
 
 void AudioSourceProviderGStreamer::configureAudioBin(GstElement* audioBin, GstElement* audioSink)

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp (277110 => 277111)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2021-05-06 19:41:15 UTC (rev 277110)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2021-05-06 19:41:53 UTC (rev 277111)
@@ -452,7 +452,7 @@
 
     switch (transition) {
     case GST_STATE_CHANGE_READY_TO_PAUSED: {
-        priv->pool = gst_buffer_pool_new();
+        priv->pool = adoptGRef(gst_buffer_pool_new());
         GstStructure* config = gst_buffer_pool_get_config(priv->pool.get());
         gst_buffer_pool_config_set_params(config, nullptr, priv->bufferSize, 0, 0);
         gst_buffer_pool_set_config(priv->pool.get(), config);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to