Re: [webrtc-pc] addIceCandidate may add ice candidate to the wrong remote description

This step should be changed such that the candidate is added to whatever remote description is applicable: possibly neither, and possibly both. Why both? Because if a "rollback" remote description is applied, wiping out `pendingRemoteDescription`, any candidates added while `pendingRemoteDescription` was non-null should still be present in `currentRemoteDescription`. The same goes for local candidates added to `currentLocalDescription`/`pendingLocalDescription`.

> So if calling with older ufrags, do they still get "remembered" by the ICE agent and get applied accordingly?

Meaning, older than both the "current" and "pending" remote descriptions? I don't see any situation where those candidates would be processed; the ICE agent only needs to keep track of two ICE generations, maximum, for the situation where a "pending" description initiates an ICE restart but is rolled back. This should be explained somewhere in the spec, since it's not a part of standard ICE.

> If so is the statement "Use candidate.ufrag to identify the ICE generation" and then proceed to process the candidate still make any sense?

This statement still makes sense.

-- 
GitHub Notification of comment by taylor-b
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/1227#issuecomment-302765204 using your GitHub account

Received on Friday, 19 May 2017 17:36:07 UTC