[Webkit-unassigned] [Bug 241549] [GStreamer] Pipeline fails to fully close and restarts in background after webkitMediaStreamSrcTrackEnded/MediaStream close()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 14 00:18:12 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=241549

--- Comment #5 from Philippe Normand <pnormand at igalia.com> ---
Checking the log, I suspect the capturer pipeline is not stopped indeed. In GStreamerCapturer::~GStreamerCapturer() I think we should set the pipeline to null state. Can you try this?

diff --git a/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp b/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
index 9e008d8f46a6..fe30d7f06ce9 100644
--- a/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
+++ b/Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
@@ -67,8 +67,11 @@ GStreamerCapturer::GStreamerCapturer(const char* sourceFactory, GRefPtr<GstCaps>

 GStreamerCapturer::~GStreamerCapturer()
 {
-    if (m_pipeline)
-        disconnectSimpleBusMessageCallback(pipeline());
+    if (!m_pipeline)
+        return;
+
+    gst_element_set_state(m_pipeline.get(), GST_STATE_NULL);
+    disconnectSimpleBusMessageCallback(m_pipeline.get());
 }

 GStreamerCapturer::Observer::~Observer()

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220614/3843c9b8/attachment.htm>


More information about the webkit-unassigned mailing list