- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Sun, 17 Jun 2012 13:30:16 +0200
- To: public-webrtc@w3.org
- Message-ID: <4FDDBFC8.5090003@alvestrand.no>
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 11:30:50 UTC