Skip to content

Conversation

@farao
Copy link
Member

@farao farao commented Jun 10, 2020

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
Copy link
Member Author

farao commented Jun 10, 2020

Needs testing :-)

@farao
Copy link
Member Author

farao commented Jun 10, 2020

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.

@janlelis
Copy link
Member

Suggestion: We implement this together with use case 1 (palavatv/palava-web#8)

@farao
Copy link
Member Author

farao commented Jun 11, 2020

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

@farao
Copy link
Member Author

farao commented Jun 11, 2020

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

@janlelis
Copy link
Member

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 janlelis changed the base branch from master to main November 12, 2020 15:13
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
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.

3 participants