答复: Spec question: precise meaning of PeerState and IceState

Thanks.
So components means pieces of media stream which request a single address, it does not means the ICE candidates pair,
But we need at least one candidates pair per component, right?
So “connected” means all components have at least one  pair per component who have setup connections between A and B.

发件人: Harald Alvestrand [mailto:harald@alvestrand.no]
发送时间: 2012年6月17日 19:30
收件人: public-webrtc@w3.org
主题: Re: Spec question: precise meaning of PeerState and IceState

On 06/17/2012 08:33 AM, Sunyang (Eric) wrote:
Hi Uberti:


Note: "new" has been removed, as such a state no longer exists; "waiting"/"gathering" have been merged into "starting", as gathering is not a well-defined state.Note: these represent more or less the most pessimistic view across all the streams. So “connected” means all components are connected.


As I suppose, the components means all usable ICE candidates pairs (local+remote), so I guess “connected” should not mean all components are connected, because we have no reason that PeerConnection should use all the ICE candidates pairs, we should use as few pairs as possible to save the resources. So I think “connected” means components needed by peerconnection  are all connected.

No, that's not what "component" means in this context.

If we have a single RTP session, with RTP + RTCP multiplexed, we have one component.
If we have a single RTP session, but RTP and RTCP use different ports, we have two components.
If we have two RTP sessions (one for audio and one for video), and RTP and RTCP use different ports, we have four components.

We need to have at least one working pair connected for each component.

The definition is in RFC 5245 (ICE) section 3:

  Component:  A component is a piece of a media stream requiring a
      single transport address; a media stream may require multiple
      components, each of which has to work for the media stream as a
      whole to work.  For media streams based on RTP, there are two
      components per media stream -- one for RTP, and one for RTCP.

(this was written pre RTP/RTCP multiplexing, which is RFC 5761, and pre BUNDLE)

                     Harald

Received on Sunday, 17 June 2012 13:28:43 UTC