RTC(Dtls|Ice)Transports aren't updated correctly when a transceiver is removed
Categories
(Core :: WebRTC: Signaling, defect, P3)
Tracking
()
People
(Reporter: bwc, Unassigned)
Details
When a transceiver is negotiated away via a disabled m-section, the transport objects are supposed to transition to "closed" in a queued task (queued from the success steps for setting a description, presumably). However, JsepSessionImpl clears the transport id on the JsepTransport when this happens:
https://searchfox.org/firefox-main/source/dom/media/webrtc/jsep/JsepTransport.h#80
https://searchfox.org/firefox-main/source/dom/media/webrtc/jsep/JsepSessionImpl.cpp#1233
https://searchfox.org/firefox-main/source/dom/media/webrtc/jsep/JsepSessionImpl.cpp#927
This leads to the RTCDtlsTransport being unset here:
Which in turn prevents that object from being updated at all here:
https://searchfox.org/firefox-main/source/dom/media/webrtc/jsapi/PeerConnectionImpl.cpp#3180
We need some wpt that check the transport is still set, as well as timing verification of the transition to "closed".
Description
•