1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-10 02:35:58 +01:00

Special-case screenshare in setSendParameters.

This avoids restarting the stream when changing simulcast
settings.
This commit is contained in:
Juliusz Chroboczek 2023-07-14 23:59:06 +02:00
parent 5722270cc7
commit a845e9f722

View file

@ -918,6 +918,8 @@ function newUpStream(localId) {
async function setSendParameters(c, bps, simulcast) { async function setSendParameters(c, bps, simulcast) {
if(!c.up) if(!c.up)
throw new Error('Setting throughput of down stream'); throw new Error('Setting throughput of down stream');
if(c.label === 'screenshare')
simulcast = false;
let senders = c.pc.getSenders(); let senders = c.pc.getSenders();
for(let i = 0; i < senders.length; i++) { for(let i = 0; i < senders.length; i++) {
let s = senders[i]; let s = senders[i];
@ -1250,12 +1252,12 @@ function setUpStream(c, stream) {
}; };
let encodings = []; let encodings = [];
let simulcast = doSimulcast(); let simulcast = c.label !== 'screenshare' && doSimulcast();
if(t.kind === 'video') { if(t.kind === 'video') {
let bps = getMaxVideoThroughput(); let bps = getMaxVideoThroughput();
// Firefox doesn't like us setting the RID if we're not // Firefox doesn't like us setting the RID if we're not
// simulcasting. // simulcasting.
if(simulcast && c.label !== 'screenshare') { if(simulcast) {
encodings.push({ encodings.push({
rid: 'h', rid: 'h',
maxBitrate: bps || unlimitedRate, maxBitrate: bps || unlimitedRate,