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 @@
Recordings
-
@@ -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