Intent to Implement and Ship: ICE candidate pooling for RTCPeerConnection

189 views
Skip to first unread message

Taylor Brandstetter

unread,
Dec 12, 2016, 1:13:53 PM12/12/16
to blink-dev

Contact emails

dead...@chromium.org


Spec

https://www.w3.org/TR/webrtc/#dom-rtcconfiguration-icecandidatepoolsize

Tag review: https://github.com/w3ctag/spec-reviews/issues/14


Summary

Normally, ICE candidates are only gathered after RTCPeerConnection.setLocalDescription is called, because this is the point at which the PeerConnection knows how many ports it needs. The iceCandidatePoolSize member of RTCConfiguration instructs the PeerConnection to gather ICE candidates before this occurs, as a performance optimization. Thus, if setting the local description is delayed (by signaling, for example), interactions with STUN/TURN servers can occur in parallel.


Motivation

This is performance optimization that may result in quicker call setup.


Interoperability and Compatibility Risk

There are no existing implementations. However, this feature exists as a performance optimization only, which lowers the compatibility risk: the only observable effect of this API is that candidate gathering may appear to occur quicker.


Firefox bug entry: https://bugzilla.mozilla.org/show_bug.cgi?id=1291894

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug

crbug.com/673395


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/4973817285836800


Requesting approval to ship?

Yes.

Chris Harrelson

unread,
Dec 13, 2016, 4:27:28 PM12/13/16
to Taylor Brandstetter, blink-dev
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Jochen Eisinger

unread,
Dec 16, 2016, 3:31:26 AM12/16/16
to Chris Harrelson, Taylor Brandstetter, blink-dev
The referenced TAG review talks about IP address gather and its implications, however, I don't see how that would relate to the feature you're trying to ship here.

Could you please clarify whether there are privacy implications by gathering the ICE candidates earlier?

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Taylor Brandstetter

unread,
Dec 16, 2016, 1:08:20 PM12/16/16
to Jochen Eisinger, Chris Harrelson, blink-dev
That's the TAG review for WebRTC as a whole (maybe I shouldn't have linked it).

And no, there are no privacy implications. An application can already perform the same candidate gathering by creating an RTCPeerConnection and calling setLocalDescription. In fact, even when candidate pooling is used, the candidates aren't surfaced to the application until setLocalDescription is called; the interactions with the STUN/TURN servers simply happen in advance.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Rick Byers

unread,
Dec 20, 2016, 5:48:56 PM12/20/16
to Taylor Brandstetter, Jochen Eisinger, Chris Harrelson, blink-dev
LGTM2

TAMURA, Kent

unread,
Jan 16, 2017, 6:09:35 PM1/16/17
to Rick Byers, Taylor Brandstetter, Jochen Eisinger, Chris Harrelson, blink-dev
LGTM3

--
TAMURA Kent
Software Engineer, Google


Reply all
Reply to author
Forward
0 new messages