← Back to release summary

RTCPeerConnection.setRemoteDescription() with "rollback"

Category
JavaScript
Type
New or changed feature
Status
Enabled by default (Chrome 80)
Intent stage
Shipped

Summary

Adds rollback, which is a way to cancel an on-going negotiation. This is needed if two WebRTC endpoints attempt to send an offer at the same time. In this case, one of the endpoints has to cancel its local offer by rolling back so that it can accept the incoming offer. This lets it complete the remote negotiation then create a follow-up offer after it becomes stable. Without it, negotiation cannot complete.

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.

Standards & signals

Docs: N/A

Explainers: https://docs.google.com/presentation/d/1xcvf0udNeSH7s1FOY7RRqr1dEFvokZjn-MZPjwy3iXQ/edit?usp=sharing

View on chromestatus.com