summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webaudio/the-audio-api/processing-model/cycle-without-delay.html
blob: cab0f6ca8e7f04fb97bd4087d00e936524ebead9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html class="a">
  <head>
    <title>Cycles without DelayNode in audio node graph</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <script>
      function doTest() {
        var off = new OfflineAudioContext(1, 512, 48000);
        var osc = new OscillatorNode(off);
        var fb = new GainNode(off);
        // zero delay feedback loop
        osc.connect(fb).connect(fb).connect(off.destination);
        osc.start(0);
        return off.startRendering().then((b) => {
          return Promise.resolve(b.getChannelData(0));
        });
      }

      promise_test(() => {
        return doTest().then(samples => {
          var silent = true;
          for (var i = 0; i < samples.length; i++) {
            if (samples[i] != 0.0) {
              silent = false;
              break;
            }
          }
          assert_true(silent);
        });
      }, 'Test that cycles that don\'t contain a DelayNode are muted');
    </script>
  </body>
</html>