Makes the RTCSessionDescription argument optional for setLocalDescription(). Previously, it required a value returned by createOffer() or createAnswer(). With this change Chromium generates the the offer or answer implicitly when no argument is provided. This avoids possible edge-case races.

Motivation

This is part of "Perfect Negotiation", which makes signaling in WebRTC race-free and less error-prone. For more details, see https://docs.google.com/presentation/d/1xcvf0udNeSH7s1FOY7RRqr1dEFvokZjn-MZPjwy3iXQ/edit?usp=sharing.

Documentation

Specification

Editor's draft

Status in Chromium

Blink


In development (tracking bug)

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

  • In development
  • Positive
  • No signal
  • No signals

Owners

Last updated on 2021-01-04