Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintain an internal slot of candidate pairs that are valid inputs to RTCIceTransport operations #188

Closed
sam-vi opened this issue Nov 6, 2023 · 1 comment · Fixed by #197
Assignees

Comments

@sam-vi
Copy link
Contributor

sam-vi commented Nov 6, 2023

An internal slot of [[ActiveCandidatePairs]] can track candidate pairs that are

  • added when sent in onicecandidatepairadd
  • removed when sent in onicecandidatepairremove, which is not canceled
  • removed when supplied to removeCandidatePairs

This makes it explicit and possible to validate synchronously whether an input to an RTCIceTransport operation is valid.

@jan-ivar
Copy link
Member

jan-ivar commented Nov 7, 2023

It might make sense to build this on top of w3c/webrtc-pc#2906.

sam-vi added a commit to sam-vi/webrtc-extensions that referenced this issue Dec 20, 2023
Fixes: w3c#186.

The algorithm matches the (non-derived) candidate, sdpMid,
sdpMLineIndex, and usernameFragment attributes of RTCIceCandidate.

The candidate match algorithm will be used in the candidate pair match
algorithm (w3c#187), which will, in turn, be used in validation steps for
RTCIceTransport methods (w3c#188).
sam-vi added a commit to sam-vi/webrtc-extensions that referenced this issue Dec 20, 2023
Fixes: w3c#187.

This PR depends on the candidate match algorithm described in w3c#192.

The candidate pair match algorithm will be used in validation steps for RTCIceTransport methods (w3c#188).
sam-vi added a commit to sam-vi/webrtc-extensions that referenced this issue Jan 10, 2024
Fixes: w3c#188.

The [[CandidatePairs]] slot in RTCIceTransport tracks candidate pairs
formed by the ICE agent and surfaced to the application, and not removed
via icecandidatepairremove or removeCandidatePair().

The slot is used to validate the inputs to selectCandidatePair() and
removeCandidatePair().
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants