WPT
wpt / webaudio / the-audio-api / the-audiobuffersourcenode-interface / sub-sample-scheduling.html
Spec: Web Audio API ↗
Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 51/51 | 35/51 | 51/51 | 2/51 | 51/51 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| # AUDIT TASK RUNNER STARTED. | PASS | PASS | PASS | PASS | PASS | — |
| Executing "sub-sample accurate start" | PASS | PASS | PASS | TIMEOUT | PASS | — |
| Executing "sub-sample accurate stop" | PASS | PASS | PASS | NOTRUN | PASS | — |
| Executing "sub-sample-grain" | PASS | PASS | PASS | NOTRUN | PASS | — |
| Executing "sub-sample accurate start with playbackRate" | PASS | PASS | PASS | NOTRUN | PASS | — |
| Audit report | PASS | PASS | PASS | NOTRUN | PASS | — |
| > [sub-sample accurate start] | PASS | PASS | PASS | PASS | PASS | — |
| src0 start frame is equal to 33.1. | PASS | PASS | PASS | — | PASS | — |
| output0[0:33] contains only the constant 0. | PASS | — | PASS | — | PASS | — |
| output0[34:8190] equals [1.899999976158142,2.9000000953674316,3.9000000953674316,4.900000095367432,5.900000095367432,6.900000095367432,7.900000095367432,8.899999618530273,9.899999618530273,10.899999618530273,11.899999618530273,12.899999618530273,13.899999618530273,14.899999618530273,15.899999618530273,16.899999618530273...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. | PASS | — | PASS | — | PASS | — |
| src1 start frame is equal to 33.9. | PASS | PASS | PASS | — | PASS | — |
| output1[0:33] contains only the constant 0. | PASS | PASS | PASS | — | PASS | — |
| output1[34:8190] equals [1.100000023841858,2.0999999046325684,3.0999999046325684,4.099999904632568,5.099999904632568,6.099999904632568,7.099999904632568,8.100000381469727,9.100000381469727,10.100000381469727,11.100000381469727,12.100000381469727,13.100000381469727,14.100000381469727,15.100000381469727,16.100000381469727...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. | PASS | — | PASS | — | PASS | — |
| < [sub-sample accurate start] All assertions passed. (total 6 assertions) | PASS | — | PASS | — | PASS | — |
| > [sub-sample accurate stop] | PASS | PASS | PASS | — | PASS | — |
| src0 end frame is equal to 32. | PASS | PASS | PASS | — | PASS | — |
| output0[32] is not equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output0[33:] contains only the constant 0. | PASS | PASS | PASS | — | PASS | — |
| src1 end frame is equal to 33.1. | PASS | PASS | PASS | — | PASS | — |
| output1[33] is not equal to 0. | PASS | — | PASS | — | PASS | — |
| output1[34:] contains only the constant 0. | PASS | PASS | PASS | — | PASS | — |
| src2 end frame is equal to 33.9. | PASS | PASS | PASS | — | PASS | — |
| output2[33] is not equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output2[34:] contains only the constant 0. | PASS | PASS | PASS | — | PASS | — |
| < [sub-sample accurate stop] All assertions passed. (total 9 assertions) | PASS | — | PASS | — | PASS | — |
| > [sub-sample-grain] | PASS | PASS | PASS | — | PASS | — |
| src0 grain start is equal to 3.1. | PASS | PASS | PASS | — | PASS | — |
| src0 grain duration is equal to 34.1. | PASS | PASS | PASS | — | PASS | — |
| src0 grain end is equal to 37.2. | PASS | PASS | PASS | — | PASS | — |
| output0 is identical to the array [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1...]. | PASS | — | PASS | — | PASS | — |
| output0[3] is equal to 0. | PASS | — | PASS | — | PASS | — |
| output0[4] is not equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output0[37] is not equal to 0. | PASS | — | PASS | — | PASS | — |
| output0[38] is equal to 0. | PASS | PASS | PASS | — | PASS | — |
| src1 grain start is equal to 5.8. | PASS | PASS | PASS | — | PASS | — |
| src1 grain duration is equal to 38.1. | PASS | PASS | PASS | — | PASS | — |
| src1 grain end is equal to 43.9. | PASS | PASS | PASS | — | PASS | — |
| output1 is identical to the array [0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1...]. | PASS | PASS | PASS | — | PASS | — |
| output1[5] is equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output1[6] is not equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output1[43] is not equal to 0. | PASS | PASS | PASS | — | PASS | — |
| output1[44] is equal to 0. | PASS | PASS | PASS | — | PASS | — |
| < [sub-sample-grain] All assertions passed. (total 16 assertions) | PASS | — | PASS | — | PASS | — |
| > [sub-sample accurate start with playbackRate] | PASS | PASS | PASS | — | PASS | — |
| Source start frame is equal to 17.8. | PASS | PASS | PASS | — | PASS | — |
| With playbackRate 0.25: output0[17] is equal to 0. | PASS | — | PASS | — | PASS | — |
| With playbackRate 0.25: output0[18] is 1.0499999999999998 within an error of 4.542e-8. | PASS | — | PASS | — | PASS | — |
| With playbackRate 4: output1[17] is equal to 0. | PASS | — | PASS | — | PASS | — |
| With playbackRate 4: output1[18] is 1.7999999999999972 within an error of 4.542e-8. | PASS | — | PASS | — | PASS | — |
| < [sub-sample accurate start with playbackRate] All assertions passed. (total 5 assertions) | PASS | — | PASS | — | PASS | — |
| # AUDIT TASK RUNNER FINISHED: 4 tasks ran successfully. | PASS | — | PASS | — | PASS | — |
| X output0[0:33]: Expected 0 for all values but found 1 unexpected values: Index Actual [33] 1 | — | FAIL | — | — | — | — |
| X output0[34:8190] does not equal [1.899999976158142,2.9000000953674316,3.9000000953674316,4.900000095367432,5.900000095367432,6.900000095367432,7.900000095367432,8.899999618530273,9.899999618530273,10.899999618530273,11.899999618530273,12.899999618530273,13.899999618530273,14.899999618530273,15.899999618530273,16.899999618530273...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. Index Actual Expected AbsError RelError Test threshold [0] 2.0000000000000000e+0 1.8999999761581421e+0 1.0000002384185791e-1 5.2631592156154129e-2 0.0000000000000000e+0 [1] 3.0000000000000000e+0 2.9000000953674316e+0 9.9999904632568359e-2 3.4482724601392921e-2 0.0000000000000000e+0 [2] 4.0000000000000000e+0 3.9000000953674316e+0 9.9999904632568359e-2 2.5641000560833845e-2 0.0000000000000000e+0 [3] 5.0000000000000000e+0 4.9000000953674316e+0 9.9999904632568359e-2 2.0408143405366560e-2 0.0000000000000000e+0 [4] 6.0000000000000000e+0 5.9000000953674316e+0 9.9999904632568359e-2 1.6949136104436064e-2 0.0000000000000000e+0 ...and 8152 more errors. Max AbsError of 1.0009765625000000e-1 at index of 2047. [2047] 2.0490000000000000e+3 2.0488999023437500e+3 1.0009765625000000e-1 4.8854341852180105e-5 0.0000000000000000e+0 Max RelError of 5.2631592156154129e-2 at index of 0. | — | FAIL | — | — | — | — |
| X output1[34:8190] does not equal [1.100000023841858,2.0999999046325684,3.0999999046325684,4.099999904632568,5.099999904632568,6.099999904632568,7.099999904632568,8.100000381469727,9.100000381469727,10.100000381469727,11.100000381469727,12.100000381469727,13.100000381469727,14.100000381469727,15.100000381469727,16.100000381469727...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. Index Actual Expected AbsError RelError Test threshold [0] 1.0000000000000000e+0 1.1000000238418579e+0 1.0000002384185791e-1 9.0909110613105290e-2 0.0000000000000000e+0 [1] 2.0000000000000000e+0 2.0999999046325684e+0 9.9999904632568359e-2 4.7619004368509764e-2 0.0000000000000000e+0 [2] 3.0000000000000000e+0 3.0999999046325684e+0 9.9999904632568359e-2 3.2258034744817511e-2 0.0000000000000000e+0 [3] 4.0000000000000000e+0 4.0999999046325684e+0 9.9999904632568359e-2 2.4390221209414906e-2 0.0000000000000000e+0 [4] 5.0000000000000000e+0 5.0999999046325684e+0 9.9999904632568359e-2 1.9607824804414951e-2 0.0000000000000000e+0 ...and 8152 more errors. Max AbsError of 1.0009765625000000e-1 at index of 2047. [2047] 2.0480000000000000e+3 2.0481000976562500e+3 1.0009765625000000e-1 4.8873419987893697e-5 0.0000000000000000e+0 Max RelError of 9.0909110613105290e-2 at index of 0. | — | FAIL | — | — | — | — |
| < [sub-sample accurate start] 3 out of 6 assertions were failed. | — | FAIL | — | — | — | — |
| X output1[33] should not be equal to 0. Got 0. | — | FAIL | — | — | — | — |
| < [sub-sample accurate stop] 1 out of 9 assertions were failed. | — | FAIL | — | — | — | — |
| X output0 expected to be equal to the array [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1...] but differs in 2 places: Index Actual Expected [3] 1.0000000000000000e+0 0.0000000000000000e+0 [37] 0.0000000000000000e+0 1.0000000000000000e+0 | — | FAIL | — | — | — | — |
| X output0[3] is not equal to 0. Got 1. | — | FAIL | — | — | — | — |
| X output0[37] should not be equal to 0. Got 0. | — | FAIL | — | — | — | — |
| < [sub-sample-grain] 3 out of 16 assertions were failed. | — | FAIL | — | — | — | — |
| X With playbackRate 0.25: output0[17] is not equal to 0. Got 0.6892558932304382. | — | FAIL | — | — | — | — |
| X With playbackRate 0.25: output0[18] is not close to 1.0499999999999998 within a relative error of 4.542e-8 (RelErr=0.07462642306373217). Got 0.971642255783081. | — | FAIL | — | — | — | — |
| X With playbackRate 4: output1[17] is not equal to 0. Got -0.09868232905864716. | — | FAIL | — | — | — | — |
| X With playbackRate 4: output1[18] is not close to 1.7999999999999972 within a relative error of 4.542e-8 (RelErr=0.05661286248101295). Got 1.9019031524658203. | — | FAIL | — | — | — | — |
| < [sub-sample accurate start with playbackRate] 4 out of 5 assertions were failed. | — | FAIL | — | — | — | — |
| # AUDIT TASK RUNNER FINISHED: 4 out of 4 tasks were failed. | — | FAIL | — | — | — | — |