Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73766fe6de29197f943066aaa14fb7d1ca7cd009
https://github.com/WebKit/WebKit/commit/73766fe6de29197f943066aaa14fb7d1ca7cd009
Author: Youenn Fablet <[email protected]>
Date: 2026-07-22 (Wed, 22 Jul 2026)
Changed paths:
M
Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtc_video_engine.cc
M
Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtc_voice_engine.cc
M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
Log Message:
-----------
libwebrtc workerThread should be networkThread and not signalingThread
rdar://182758228
https://bugs.webkit.org/show_bug.cgi?id=319969
Reviewed by Jean-Yves Avenard.
In M150 libwebrtc resync, explicit hopping from network thread to worker thread
was removed from WebRtcVideoReceiveChannel::OnPacketReceived.
This is ok in Chrome since network thread and worker thread are the same.
We apply the same setup in WebKit in
LibWebRTCProvider::createPeerConnectionFactory.
The issue is that while Call::DeliverRtpPacket use a safety task to make sure
the Call pointer is valid after hopping to worker thread,
the OnUndemuxablePacketHandler is keeping a pointer to
WebRtcVideoReceiveChannel/WebRtcVoiceReceiveChannel, which are not guaranteed
to stay valid in our previous config where worker thread and signalling thread
were the same.
For good measure, we make sure that the OnUndemuxablePacketHandler given to
Call::DeliverRtpPacket from WebRtcVideoReceiveChannel and
WebRtcVoiceReceiveChannel use safety flags so that we protect from any misuse
pointers.
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtc_video_engine.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtc_voice_engine.cc:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::createPeerConnectionFactory):
Canonical link: https://commits.webkit.org/317713@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications