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