1
Fork 0

Enable simulcast on Firefox.

Firefox uses a non-standard protocol for simulcast, which has been
supported by Pion for a while now.  Enable simulcast in Firefox.
This commit is contained in:
Juliusz Chroboczek 2022-03-20 21:52:24 +01:00
parent ba75bfeb3a
commit 148c49d253
1 changed files with 8 additions and 13 deletions

View File

@ -855,11 +855,9 @@ async function setSendParameters(c, bps, simulcast) {
if(!s.track || s.track.kind !== 'video')
continue;
let p = s.getParameters();
if(!p.encodings)
p.encodings = [{}];
if((!simulcast && p.encodings.length != 1) ||
if((!p.encodings ||
!simulcast && p.encodings.length != 1) ||
(simulcast && p.encodings.length != 2)) {
// change the simulcast envelope
await replaceUpStream(c);
return;
}
@ -1213,15 +1211,12 @@ function setUpStream(c, stream) {
streams: [stream],
sendEncodings: encodings,
});
if(t.kind === 'video') {
let p = tr.sender.getParameters();
if(!p.encodings) {
// Firefox workaround
updateSettings({simulcast: 'off'});
reflectSettings();
p.encodings = [encodings[0]];
tr.sender.setParameters(p);
}
// Firefox workaround
let p = tr.sender.getParameters();
if(!p.encodings || p.encodings.length != encodings.length) {
p.encodings = encodings;
tr.sender.setParameters(p);
}
}