Intent to Prototype: RTCDataChannel.priority

133 views
Skip to first unread message

Florent Castelli

unread,
Aug 8, 2024, 7:11:08 AMAug 8
to blink-dev

Contact emails

orp...@google.comboi...@google.com

Explainer

None

Specification

https://w3c.github.io/webrtc-priority/#datachannel

Summary

Many applications have multiple media flows of the same data type and often some of the flows are more important than others. The priority setting can be used to indicate the relative priority of various flows. The priority API allows the JavaScript applications to tell the browser whether a particular media flow is high, medium, low or of very low importance to the application.



Blink component

Blink>WebRTC>DataChannel

Motivation

The WebRTC specification mandates that the underlying SCTP implementation used for data channels uses a Weighted Fair Queue scheduler (see https://www.rfc-editor.org/rfc/rfc8831#section-6.4). A Weighted Fair Queue scheduler needs to know the relative priority of the different data streams in order to be effective, which is taken from the RTCDataChannelInit.priority and read back from the RTCDataChannel.priority field.



Initial public proposal

None

TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

This feature requires implementation of the SCTP ndata specification (rfc8260) used by data channels. So far, only libwebrtc based browsers have experimental support for it. If other browsers do not update their implementation, communication will continue to work as it does today, so risk is very limited.



Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

Activation

The feature relies on endpoints supporting the SCTP ndata specification (rfc8260) which are currently uncommon. When the feature is launched, P2P communication between Chrome and other libwebrtc based browsers will automatically be upgraded to use stream priorities. If an endpoint does not support rfc8260, communication will continue to work as-is.



Debuggability

No DevTools support for RTCDataChannel.



Is this feature fully tested by web-platform-tests?

Yes

Tests are verifying that the negotiation of data channels propagates the priority field as mandated in the DCEP specification (rfc8832). The tests cannot verify that the underlying transport is respecting the priorities reliably.



Flag name on chrome://flags

None

Finch feature name

RTCDataChannelPriority

Requires code in //chrome?

False

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5239327031033856?gate=4761533125754880

This intent message was generated by Chrome Platform Status.

Reply all
Reply to author
Forward
0 new messages