palava-client icon indicating copy to clipboard operation
palava-client copied to clipboard

Enable renegotation

Open farao opened this issue 4 years ago • 6 comments

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.

farao avatar Jun 10 '20 21:06 farao

Needs testing :-)

farao avatar Jun 10 '20 21:06 farao

Three example scenarios which should hopefully be supported by enabling renegotiation:

  1. Screen sharing (adding a screen video track on the fly)
  2. Starting audio only and deciding to want to switch on the camera during the call
  3. Changing networks, e.g. being on a mobile connection on the phone and then wifi gets connected.

farao avatar Jun 10 '20 21:06 farao

Suggestion: We implement this together with use case 1 (https://github.com/palavatv/palava-web/issues/8)

janlelis avatar Jun 11 '20 19:06 janlelis

Well, it is a precondition for case 1 but still a separate feature which we could also test with case 3?

farao avatar Jun 11 '20 22:06 farao

I don't think that the code for the renegotiation will change when tackling screen sharing as a next step.

farao avatar Jun 11 '20 22:06 farao

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

janlelis avatar Jun 19 '20 15:06 janlelis