In order to make it possible to perform partial ICE restarts, we need to change the way we handle ICE restart. Right now, when an ICE restart happens, we create a whole new ICE context, and then switch over to that new context once ICE succeeds on it. What we should instead be doing is creating extra ICE streams on the context we already have, and then removing the old ones once we're ready. We probably want to do this before we try to move mtransport into a separate process, because this is a simplification in the mtransport API. This would mean keying ICE streams based on a combination of transport-id and ufrag/pwd, at least until we use unique ufrag/pwds for each ICE stream.
Comment on attachment 9009226 [details] Bug 1486012: Rework ICE restart. Michael Froman [:mjf] has approved the revision.
Attachment #9009226 - Flags: review+
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/autoland/rev/f2da055061b9 Rework ICE restart. r=mjf
This change is breaking interop with Safari and Chrome! It looks to me like Firefox is generating new ICE username and password in it's answer, which the other browsers don't seem to like at all (haven't checked the specs yet).
Never mind. It looks like bug 1493146 will fix the problem I'm seeing with Nightly right now. But bug 1493146 hasn't made it into my current Nightly.
You need to log in before you can comment on or make changes to this bug.