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

RFC: introduce function SetRemoteGatherDone #1131

Closed
wants to merge 1 commit into from

Conversation

gasperov
Copy link
Contributor

@gasperov gasperov commented Mar 9, 2024

I was experimenting gathering complete signal. It seems juice_set_remote_gathering_done should be called at the end of candidate gathering phase.

The reason for this PR is issue #1130. At this time I have no data to confirm that this PR fixes anything.

@@ -664,6 +666,8 @@ void IceTransport::setRemoteDescription(const Description &description) {
throw std::invalid_argument("Invalid ICE settings from remote SDP");
}

void IceTransport::setRemoteGatherDone() {}
Copy link
Contributor Author

@gasperov gasperov Mar 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick search didn't find similar function in libnice.

});

pc1.onLocalCandidate([&pc2](Candidate candidate) {
if (candidate.type() == rtc::Candidate::Type::Host) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably should allow only srflx and relay instead of filtering host ?

@paullouisageneau
Copy link
Owner

paullouisageneau commented Mar 10, 2024

There are a few issues with this:

  • Calling juice_set_remote_gathering_done() does not make any difference. Recent versions of libjuice do not use the information for anything apart from adding the end-of-candidates marker to the remote description and preventing more remote candidates from being added.
  • To properly signal end-of-candidates, the mechanism would also need to update the libdatachannel state, it would at least need to update the remote description.
  • The reference WebRTC API uses null candidate to signal end-of-candidates instead of relying on gathering state change, so it might be better to do something similar (signaling end of candidates makes sense only when trickling candidates, if you wait for gathering complete the description already has an end-of-candidate marker).
  • This is unrelated to Callback for rtcSetGatheringStateChangeCallback sometimes not firing for RTC_GATHERING_COMPLETE #1130

@gasperov
Copy link
Contributor Author

@paullouisageneau thank you for your review and the comment!

I think we can abandon this PR.

@gasperov gasperov closed this Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants