Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a7a88d2d6ae3e9daafd19afd70e4c8c0f5bc0527
      
https://github.com/WebKit/WebKit/commit/a7a88d2d6ae3e9daafd19afd70e4c8c0f5bc0527
  Author: Youenn Fablet <[email protected]>
  Date:   2026-03-11 (Wed, 11 Mar 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver-stop-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver-stopping.https-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpTransceiver.https-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webrtc/protocol/transceiver-mline-recycling-expected.txt
    M Source/WebCore/Modules/mediastream/PeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.h
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiver.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h

  Log Message:
  -----------
  RTCPeerConnection should not expose transceivers of rejected m-sections
rdar://172083648
https://bugs.webkit.org/show_bug.cgi?id=309493

Reviewed by Philippe Normand.

When setting local or remote description, we get the list of transceivers from 
the backend.
While we were adding new transceivers, we were not removing transceivers that 
the backend was no longer surfacing.

We update LibWebRTCMediaEndpoint::collectTransceivers to do this by:
1. Passing to LibWebRTCMediaEndpoint::collectTransceivers a list of the current 
transceivers
2. Go through the backend transceivers.
3. If a backend transceiver is not the in the list, surface a new transceiver 
to the RTCPeerConnection.
4. Otherwise, we remove from the list the corresponding transceiver.
5. Remaining transceivers of the list given to 
LibWebRTCMediaEndpoint::collectTransceivers should no longer be surfaced by 
RTCPeerConnection.
   We therefore remove them from the RTCPeerConnection list of transceivers.

Covered by rebased WPT tests.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to