palava-client
palava-client copied to clipboard
Enable renegotation
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.
Needs testing :-)
Three example scenarios which should hopefully be supported by enabling renegotiation:
- Screen sharing (adding a screen video track on the fly)
- Starting audio only and deciding to want to switch on the camera during the call
- Changing networks, e.g. being on a mobile connection on the phone and then wifi gets connected.
Suggestion: We implement this together with use case 1 (https://github.com/palavatv/palava-web/issues/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.
Well, it is a precondition for case 1 but still a separate feature which we could also test with case 3?
True, you are right of course, case 3 only requires a mobile phone and a desktop computer to test