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

Reply via email to