tor-browser

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

audioworkletglobalscope-sample-rate.https.html (1380B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <title>
      5      Test sampleRate in AudioWorkletGlobalScope
      6    </title>
      7    <script src="/resources/testharness.js"></script>
      8    <script src="/resources/testharnessreport.js"></script>
      9    <script src="/webaudio/resources/audit.js"></script>
     10  </head>
     11  <body>
     12    <script id="layout-test-code">
     13      let audit = Audit.createTaskRunner();
     14 
     15      setup(() => {
     16        let sampleRate = 48000;
     17        let renderLength = 512;
     18        let context = new OfflineAudioContext(1, renderLength, sampleRate);
     19 
     20        let filePath = 'processors/one-pole-processor.js';
     21 
     22        // Without rendering the context, attempt to access |sampleRate| in the
     23        // global scope as soon as it is created.
     24        audit.define(
     25            'Query |sampleRate| upon AudioWorkletGlobalScope construction',
     26            (task, should) => {
     27              let onePoleFilterNode =
     28                  new AudioWorkletNode(context, 'one-pole-filter');
     29              let frequencyParam = onePoleFilterNode.parameters.get('frequency');
     30 
     31              should(frequencyParam.maxValue,
     32                     'frequencyParam.maxValue')
     33                  .beEqualTo(0.5 * context.sampleRate);
     34 
     35              task.done();
     36            });
     37 
     38        context.audioWorklet.addModule(filePath).then(() => {
     39          audit.run();
     40        });
     41      });
     42    </script>
     43  </body>
     44 </html>