-
Notifications
You must be signed in to change notification settings - Fork 15
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
Enable renegotation #28
base: main
Are you sure you want to change the base?
Conversation
Needs testing :-) |
Three example scenarios which should hopefully be supported by enabling renegotiation:
|
Suggestion: We implement this together with use case 1 (palavatv/palava-web#8) |
Well, it is a precondition for case 1 but still a separate feature which we could also test with case 3? |
I don't think that the code for the renegotiation will change when tackling screen sharing as a next step. |
True, you are right of course, case 3 only requires a mobile phone and a desktop computer to test |
No "perfect renegotiation" because that's too new and unsupported by browsers. Instead, a workaround by deferring adding the own offer: https://stackoverflow.com/questions/65059808/downward-compatibility-of-webrtc-renegotiation
Roughly following https://blog.mozilla.org/webrtc/perfect-negotiation-in-webrtc/
but using @negotiationInProcess instead of @peerConnection.signalingState to
make the process a bit more readable/understandable.
Disadvantage: Rollbacks are quite new (half a year in chrome, bit more in Firefox).
But: Races should be rare and all other solutions would require a protocol change
and would make the process slower.