Web/API/RTCIceCandidateStats/priority

From Get docs

The RTCIceCandidateStats dictionary's priority property is a positive integer value indicating the priority (or desirability) of the described candidate. During ICE negotiation while setting up a WebRTC peer connection, the priority values reported to the remote peer by a user agent are used to determine which candidates are considered "more desirable". The higher the value, the more desirable the candidate is.

Syntax

priority = rtcIceCandidateStats.priority;

Value

A positive integer indicating the priority of the RTCIceCandidate described by the RTCIceCandidateStats object. The value may be anywhere from 1 to 2,147,483,647.

Determining priority

The ICE specification describes how user agents and other software using WebRTC should calculate the priority. The priority of a candidate is calculated using the following variables as inputs:

  • The preferability of the candidate type (local, server reflexive, peer reflexive, or relayed)
  • The preferability of the candidate's specific IP address (for multihomed agents)
  • The candidate's component ID (1 for RTP, 2 for RTCP)

The candidate's priority is computed using the formula (ptype is the priority of the candidate's type and plocal is the priority of the IP address):

<math display="block">\mathit{priority} = 2^{24} \times p_{type} + 2^{8} \times p_{local} + (256 - \mathit{componentID})</math>

This is equivalent to mapping the priorities of teh candidate type, the local IP, and the component ID into various bit ranges within the 32-bit priority value.

Specifications

Specification Status Comment
Identifiers for WebRTC's Statistics APIThe definition of 'RTCIceCandidateStats.port' in that specification. Candidate Recommendation Initial specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
port Chrome

No support No

Edge

No support No

Firefox Full support 27

Alternate Name'

Full support 27

Alternate Name'

Alternate Name' Uses the non-standard name: portNumber

IE

No support No

Opera

?

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android Full support 27

Alternate Name'

Full support 27

Alternate Name'

Alternate Name' Uses the non-standard name: portNumber

Opera Android

?

Safari iOS

?

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Uses a non-standard name.'
Uses a non-standard name.


See also