Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 53e6c2557ae992b7f08012d57473b1a9640b4f84
https://github.com/WebKit/WebKit/commit/53e6c2557ae992b7f08012d57473b1a9640b4f84
Author: Philippe Normand <[email protected]>
Date: 2023-05-03 (Wed, 03 May 2023)
Changed paths:
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDtlsTransportBackend.cpp
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDtlsTransportBackend.h
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.cpp
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.h
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpReceiverBackend.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.cpp
M
Source/WebCore/Modules/mediastream/gstreamer/GStreamerSctpTransportBackend.cpp
M
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp
Log Message:
-----------
[GStreamer][WebRTC] Deadlock when closing PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=256161
Reviewed by Xabier Rodriguez-Calvar.
The main issue here was that the end-point closing from the main thread ends up
waiting on the dtls
decoder sink pad to unlock its stream lock that has been locked by the
DtlsTransportBackend, also from
the main thread and blocking.
This patch also aligns the DtlsTransportBackend GStreamer implementation a bit
more with the
libwebrtc one and makes GstWebRTCDTLSTransport pointers ownership more explicit.
Also while debugging this I noticed outgoing sources kept being notified of
buffers even after
shutdown, they weren't stopped from the source destructor.
*
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDtlsTransportBackend.cpp:
(WebCore::GStreamerDtlsTransportBackend::stateChanged const):
*
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingMediaSourceGStreamer::~RealtimeOutgoingMediaSourceGStreamer):
Canonical link: https://commits.webkit.org/263627@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes