RTCPeerConnection currently operates in two modes, "plan-b" and "unified-plan", controlled by sdpSemantics in RTCConfiguration passed to the PC constructor.
"Plan B" and "Unified Plan" clients cannot connect (setRemoteDescription fails) if multiple senders or receivers of the same media kind (audio or video).
This bug tracks removing "plan-b" support in Chrome. This is blocked on transceivers and switching the default to "unified-plan".
Unified Plan SDP semantics bug: https://crbug.com/799030
RTCRtpTransceiver bug: https://crbug.com/777617
Switching Unified Plan to the default: https://crbug.com/857003
Plan B:
Current Chrome behavior. Behavior incompatible with spec.
Supports senders and receivers but not transceivers. Senders and receivers are not created in pairs and they do not become inactive when a track is removed rather they are removed and never reused.
SDP for creating and parsing offer/answer is NOT in accordance with spec.
Unified Plan:
Spec and Firefox behavior.
Supports transceivers (sender-receiver pairs), always creates both sender and a receiver, maps to the SDP m-line. When no longer sending or receiving a track the transceiver's direction changes. Inactive transceivers could be reused in the future. Allows early media.
SDP for creating and parsing offer/answer is in accordance with spec.
Comment 1 by hbos@chromium.org
, Jun 27 2018