tor-browser

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

test_mediaStreamTrackAudioSourceNode.html (1586B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <meta charset="utf-8">
      4 <head>
      5  <title>Test MediaStreamTrackAudioSourceNode processing is correct</title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <script type="text/javascript" src="webaudio.js"></script>
      8  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      9 </head>
     10 <body>
     11 <pre id="test">
     12 <script class="testbody" type="text/javascript">
     13 
     14 function createBuffer(context) {
     15  let buffer = context.createBuffer(2, 2048, context.sampleRate);
     16  for (let i = 0; i < 2048; ++i) {
     17    buffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate);
     18    buffer.getChannelData(1)[i] = -buffer.getChannelData(0)[i];
     19  }
     20  return buffer;
     21 }
     22 
     23 let gTest = {
     24  length: 2048,
     25  skipOfflineContextTests: true,
     26  createGraph(context) {
     27    let sourceGraph = new AudioContext();
     28    let source = sourceGraph.createBufferSource();
     29    source.buffer = createBuffer(context);
     30    let dest = sourceGraph.createMediaStreamDestination();
     31    source.connect(dest);
     32 
     33    // Extract first audio track from dest.stream
     34    let track = dest.stream.getAudioTracks()[0];
     35 
     36    source.start(0);
     37 
     38    let mediaStreamTrackSource = new MediaStreamTrackAudioSourceNode(context, { mediaStreamTrack: track });
     39    // channelCount and channelCountMode should have no effect
     40    mediaStreamTrackSource.channelCount = 1;
     41    mediaStreamTrackSource.channelCountMode = "explicit";
     42    return mediaStreamTrackSource;
     43  },
     44  createExpectedBuffers(context) {
     45    return createBuffer(context);
     46  },
     47 };
     48 
     49 runTest();
     50 
     51 </script>
     52 </pre>
     53 </body>
     54 </html>