Open Bug 2037526 Opened 5 months ago Updated 1 month ago

Implement RTCIceTransport.get[Local/Remote]Candidates

Categories

(Core :: WebRTC: Signaling, task, P3)

task

Tracking

()

People

(Reporter: bwc, Assigned: bwc)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-needed)

Attachments

(2 files)

No description provided.
Keywords: dev-doc-needed
Assignee: nobody → docfaraday

This is likely to require some spec work; it is not currently very clear how these interact with ICE restart, and even less clear with an ICE restart that is rolled back. The spec is also not very specific about when these slots are updated exactly. We're going to need to write a bunch of corner-case tests and see what the major browsers do with them, and then see if the spec can be fixed without completely upturning what's currently implemented.

Filed some bugs:

https://github.com/w3c/webrtc-pc/issues/3117
https://github.com/w3c/webrtc-pc/issues/3118
https://github.com/w3c/webrtc-pc/issues/3119

I'm going to proceed under the assumption that:

  1. We're going to add a step to the success task of sRD to add remote candidates to the transport (with dupe checking) for the purposes of getRemoteCandidates.
  2. We're going to add a step to the success task of addIceCandidate to add the candidate to the transport (again, with dupe checking, the same as in #1).
  3. We aren't going to try doing anything fancy like removing candidates due to ICE restart or rollback. Once candidates are added, they stay.

Another spec issue we're going to have to deal with here:

https://github.com/w3c/webrtc-pc/issues/3120

webrtc-pc is pretty underspecified here. These tests reflect what I
believe are the most sensible resolutions to these issues:

https://github.com/w3c/webrtc-pc/issues/3117
https://github.com/w3c/webrtc-pc/issues/3118
https://github.com/w3c/webrtc-pc/issues/3120

webrtc-pc is pretty underspecified on this stuff. See:

https://github.com/w3c/webrtc-pc/issues/3117
https://github.com/w3c/webrtc-pc/issues/3118
https://github.com/w3c/webrtc-pc/issues/3120

This code reflects the most reasonable (in my opinion) solutions to
those issues. It is possible that this will change.

Depends on: 2068159
Attachment #9632136 - Attachment description: WIP: Bug 2037526: wpt for RTCIceTransport.get(Local|Remote)Candidates → Bug 2037526: wpt for RTCIceTransport.get(Local|Remote)Candidates r?jib
Attachment #9632137 - Attachment description: WIP: Bug 2037526: Implement RTCIceTransport.get(Local|Remote)Candidates. → Bug 2037526: Implement RTCIceTransport.get(Local|Remote)Candidates. r?mjf
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: