tor-browser

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

RTCRtpSender-getParameters.html (2004B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <title>RTCRtpSender.prototype.getParameters</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="dictionary-helper.js"></script>
      7 <script src="RTCPeerConnection-helper.js"></script>
      8 <script src="RTCRtpParameters-helper.js"></script>
      9 <script>
     10  'use strict';
     11 
     12 promise_test(async t => {
     13  const stream = await getNoiseStream({video: true});
     14  t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     15  const [track] = stream.getTracks();
     16  const caller = new RTCPeerConnection();
     17  t.add_cleanup(() => caller.close());
     18  caller.addTrack(track);
     19  const callee = new RTCPeerConnection();
     20  t.add_cleanup(() => callee.close());
     21  callee.addTrack(track);
     22  var callerSender = caller.getTransceivers()[0].sender;
     23  assert_equals(callerSender.getParameters().codecs.length, 0);
     24  assert_equals(callerSender.getParameters().headerExtensions.length, 0,
     25                "caller header extensions before offer");
     26  const offer = await caller.createOffer();
     27  await caller.setLocalDescription(offer);
     28  await callee.setRemoteDescription(offer);
     29  // Check that it is a single 2-way transceiver.
     30  assert_equals(callee.getTransceivers().length, 1);
     31  var calleeSender = callee.getTransceivers()[0].sender;
     32  assert_equals(calleeSender.getParameters().codecs.length, 0);
     33  const answer = await callee.createAnswer();
     34  await callee.setLocalDescription(answer);
     35  assert_greater_than(calleeSender.getParameters().codecs.length, 0,
     36                      "callee codecs after answer");
     37  await caller.setRemoteDescription(answer);
     38  assert_greater_than(callerSender.getParameters().codecs.length, 0,
     39                      "caller codecs after answer");
     40  assert_greater_than(callerSender.getParameters().headerExtensions.length, 0,
     41                      "caller header extensions after answer");
     42 }, 'getParameters() surfaces codecs on two-way sender with addTrack at the right time');
     43 
     44 </script>