Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 454579957b8a62fdfdaa6a23642d9e612b227f60
      
https://github.com/WebKit/WebKit/commit/454579957b8a62fdfdaa6a23642d9e612b227f60
  Author: Philippe Normand <[email protected]>
  Date:   2025-10-10 (Fri, 10 Oct 2025)

  Changed paths:
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h

  Log Message:
  -----------
  [GStreamer][WebRTC] Potential deadlocks when attempting to close the 
connection while adding ICE candidates
https://bugs.webkit.org/show_bug.cgi?id=300444

Reviewed by Xabier Rodriguez-Calvar.

The descriptionsFromWebRTCBin() call made while handling the 
add-ice-candidate-full GstPromise was
inducing a PC_LOCK whithin webrtcbin's get_property handler. This could race 
with the PC_LOCK
attempt in webrtcbin's close signal handler. So we asynchronously schedule 
these operations to the
main thread.

Also slightly related, the pipeline dumps are now performed asynchronously in 
the WebRTC end-point,
also because they imply webrtcbin PC_LOCK acquisitions.

* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::initializePipeline):
(WebCore::GStreamerMediaEndpoint::addIceCandidate):
(WebCore::GStreamerMediaEndpoint::prepareForClose):
(WebCore::GStreamerMediaEndpoint::close):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::dumpPipelineAsynchronously):
(WebCore::connectSimpleBusMessageCallback):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::connectSimpleBusMessageCallback):

Canonical link: https://commits.webkit.org/301308@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to