Title: [277100] trunk/Source/WebCore
- Revision
- 277100
- Author
- [email protected]
- Date
- 2021-05-06 10:13:47 -0700 (Thu, 06 May 2021)
Log Message
[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: trunk/Source/WebCore/ChangeLog (277099 => 277100)
--- trunk/Source/WebCore/ChangeLog 2021-05-06 17:05:23 UTC (rev 277099)
+++ trunk/Source/WebCore/ChangeLog 2021-05-06 17:13:47 UTC (rev 277100)
@@ -1,3 +1,17 @@
+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 Dean Jackson <[email protected]>
[WebXR] Add IOSurface to FrameData::LayerData
Modified: trunk/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp (277099 => 277100)
--- trunk/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp 2021-05-06 17:05:23 UTC (rev 277099)
+++ trunk/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp 2021-05-06 17:13:47 UTC (rev 277100)
@@ -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: trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp (277099 => 277100)
--- trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2021-05-06 17:05:23 UTC (rev 277099)
+++ trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2021-05-06 17:13:47 UTC (rev 277100)
@@ -456,7 +456,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