tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

helper.js (1009B)


      1 "use strict";
      2 
      3 async function setupLoopbackWithCodecAndGetReader(t, codec) {
      4  const caller = new RTCPeerConnection({encodedInsertableStreams:true});
      5  t.add_cleanup(() => caller.close());
      6  const callee = new RTCPeerConnection();
      7  t.add_cleanup(() => callee.close());
      8 
      9  await setMediaPermission("granted", ["camera"]);
     10  const stream = await navigator.mediaDevices.getUserMedia({video:true});
     11  const videoTrack = stream.getVideoTracks()[0];
     12  t.add_cleanup(() => videoTrack.stop());
     13 
     14  const transceiver = caller.addTransceiver(videoTrack);
     15  const codecCapability =
     16      RTCRtpSender.getCapabilities('video').codecs.find(capability => {
     17        return capability.mimeType.includes(codec);
     18      });
     19  assert_not_equals(codecCapability, undefined);
     20  transceiver.setCodecPreferences([codecCapability]);
     21 
     22  const senderStreams = transceiver.sender.createEncodedStreams();
     23  exchangeIceCandidates(caller, callee);
     24  await exchangeOfferAnswer(caller, callee);
     25  return senderStreams.readable.getReader();
     26 }