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

sporadic SLD errors #14

Open
fippo opened this issue Nov 20, 2015 · 2 comments
Open

sporadic SLD errors #14

fippo opened this issue Nov 20, 2015 · 2 comments

Comments

@fippo
Copy link
Member

fippo commented Nov 20, 2015

on talky we were seeing very rare errors where setLocalDescription failed without any apparent effect. Here is what happened:

  • remote sent session-initiate without any streams.
  • setRemoteDescription is called. createAnswer (1) is called. Processing of remote actions resumes. PeerConnection is in have-remote-offer state.
  • remote sent source-add. SRD is called. createAnswer (2) is called. PeerConnection is transitioning have-remote-offer -> have-remote-offer
  • createAnswer (1) returns. setLocalDescription is called. PeerConnection goes into stable state. Things work.
  • createAnswer (2) returns. setLocalDescription is called even though state is stable. Boom. But no bad things happened.

Proposed solution (other than continuing to work on the green spinning vortex of processing doom) is to ignore SLD when the state is stable.

@fippo
Copy link
Member Author

fippo commented Nov 20, 2015

hrm. Oddly, at least here the signalingstate is still have-remote-offer. But down in adapter it is stable and I don't see how that could change unless the signaling state is somehow magically updated in the background (which would seem like a stupid idea).

Further investigation needed.

@fippo
Copy link
Member Author

fippo commented Nov 20, 2015

so... the signaling state changes between createAnswer here (still have-remote-offer) and setLocalDescription here inside the callback from that. That means this workaround needs to be done in https://github.com/otalk/rtcpeerconnection
Alternatively we might skip createAnswer and immediately do SLD with the current description which is what Hangouts does.

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

No branches or pull requests

1 participant