The read-only component
property on the RTCIceCandidate
interface is a string which indicates whether the candidate is an RTP or an RTCP candidate.
If a candidate represents both RTP and RTCP multiplexed together, it is reported as an RTP candidate.
A string which is one of the following:
rtp
-
Identifies an ICE transport which is being used for the Real-time Transport Protocol (RTP), or for RTP multiplexed with the RTP Control Protocol (RTCP). RTP is defined in RFC 3550. This value corresponds to the component ID field in the candidate
a-line with the value 1.
rtcp
-
Identifies an ICE transport being used for RTCP, which is defined in RFC 3550, section 6. This value corresponds to the component ID 2.
Consider this SDP attribute line (a-line):
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
This is an ICE candidate a-line, whose foundation
is 4234997325. The next field on the a-line, "1"
, is the component ID. A value of "1"
indicates RTP, which is recorded in the component
property as "rtp"
. If this value were instead "2"
, the a-line would be describing an RTCP candidate, and component
would be "rtcp"
.
This code snippet examines a candidate's component type and dispatches the candidate to different handlers depending on the value.
if (candidate.component === "rtp") {
handleRTPCandidate(candidate);
} else if (candidate.component === "rtcp") {
handleRTCPCandidate(candidate);
} else {
handleUnknownCandidate(candidate);
}