diff --git a/simulcast-playground.html b/simulcast-playground.html index 0d19ca1..8db2ed1 100644 --- a/simulcast-playground.html +++ b/simulcast-playground.html @@ -128,11 +128,11 @@ - | + |
- Source: + Source: @@ -317,7 +317,7 @@ @@ -536,6 +536,17 @@ } }; pc2.ontrack = async (e) => { + if (e.transceiver && e.transceiver.setCodecPreferences) { + // Move the desired codecs in front + + const wantedCodecs = RTCRtpReceiver.getCapabilities( + 'video' + ).codecs.filter((c) => c.mimeType.includes(codec.value)); + const otherCodecs = RTCRtpReceiver.getCapabilities("video").codecs.filter( + (c) => !c.mimeType.includes(codec.value) + ); + e.transceiver.setCodecPreferences(wantedCodecs.concat(otherCodecs)); + } try { if (splitLayer.value == 'merged') { intervals.push(setStream( @@ -648,15 +659,6 @@ }); sender = transceiver.sender; - // Move the desired codecs in front - const wantedCodecs = RTCRtpSender.getCapabilities( - "video" - ).codecs.filter((c) => c.mimeType.includes(codec.value)); - const otherCodecs = RTCRtpSender.getCapabilities("video").codecs.filter( - (c) => !c.mimeType.includes(codec.value) - ); - transceiver.setCodecPreferences(wantedCodecs.concat(otherCodecs)); - lastBitrateMesurementTime = performance.now(); lastBytesSent = 0; lastBytesReceived = 0; @@ -1214,7 +1216,7 @@ const name = `layer${layerId}_${sharingOption}_${codec}_${bitrate}kbps_${framerate}fps_${date}`; return name; - } + } const is = (stat, type) => stat.type == type && !stat.isRemote; // skip RTCP