diff --git a/src/content/devices/multi/js/main.js b/src/content/devices/multi/js/main.js index 2d5f2e7fcd..eca05ede52 100644 --- a/src/content/devices/multi/js/main.js +++ b/src/content/devices/multi/js/main.js @@ -72,7 +72,7 @@ function changeAudioDestination(event) { const deviceId = event.target.value; const outputSelector = event.target; // FIXME: Make the media element lookup dynamic. - const element = event.path[2].childNodes[1]; + const element = event.composedPath()[2].childNodes[1]; attachSinkId(element, deviceId, outputSelector); } diff --git a/src/content/extensions/svc/js/main.js b/src/content/extensions/svc/js/main.js index 50bcbdd1c1..19ac271607 100644 --- a/src/content/extensions/svc/js/main.js +++ b/src/content/extensions/svc/js/main.js @@ -115,9 +115,9 @@ async function start() { alert(`getUserMedia() error: ${e.name}`); } if (supportsSetCodecPreferences) { - const {codecs} = RTCRtpSender.getCapabilities('video'); + const {codecs} = RTCRtpReceiver.getCapabilities('video'); codecs.forEach(codec => { - if (['video/red', 'video/ulpfec', 'video/rtx'].includes(codec.mimeType)) { + if (['video/red', 'video/ulpfec', 'video/rtx', 'video/flexfec-03'].includes(codec.mimeType)) { return; } const option = document.createElement('option'); @@ -215,21 +215,6 @@ async function call() { } }); console.log('Added local stream to pc1'); - if (supportsSetCodecPreferences) { - const preferredCodec = codecPreferences.options[codecPreferences.selectedIndex]; - if (preferredCodec.value !== '') { - const [mimeType, sdpFmtpLine] = preferredCodec.value.split(' '); - const {codecs} = RTCRtpSender.getCapabilities('video'); - const selectedCodecIndex = codecs.findIndex(c => c.mimeType === mimeType && c.sdpFmtpLine === sdpFmtpLine); - const selectedCodec = codecs[selectedCodecIndex]; - codecs.splice(selectedCodecIndex, 1); - codecs.unshift(selectedCodec); - console.log(codecs); - const transceiver = pc1.getTransceivers().find(t => t.sender && t.sender.track === localStream.getVideoTracks()[0]); - transceiver.setCodecPreferences(codecs); - console.log('Preferred video codec', selectedCodec); - } - } codecPreferences.disabled = true; scalabilityMode.disabled = true; @@ -293,6 +278,19 @@ function gotRemoteStream(e) { remoteVideo.srcObject = e.streams[0]; console.log('pc2 received remote stream'); } + if (supportsSetCodecPreferences) { + const preferredCodec = codecPreferences.options[codecPreferences.selectedIndex]; + if (preferredCodec.value !== '') { + const [mimeType, sdpFmtpLine] = preferredCodec.value.split(' '); + const {codecs} = RTCRtpReceiver.getCapabilities('video'); + const selectedCodecIndex = codecs.findIndex(c => c.mimeType === mimeType && c.sdpFmtpLine === sdpFmtpLine); + const selectedCodec = codecs[selectedCodecIndex]; + codecs.splice(selectedCodecIndex, 1); + codecs.unshift(selectedCodec); + e.transceiver.setCodecPreferences(codecs); + console.log('Preferred video codec', selectedCodec); + } + } } async function onCreateAnswerSuccess(desc) { diff --git a/src/content/getusermedia/getdisplaymedia/index.html b/src/content/getusermedia/getdisplaymedia/index.html index 9cdfdc43ea..bc5703dbf1 100644 --- a/src/content/getusermedia/getdisplaymedia/index.html +++ b/src/content/getusermedia/getdisplaymedia/index.html @@ -33,7 +33,7 @@

WebRTC samples getDisplayMedia

- +