Changeset 265086 in webkit
- Timestamp:
- Jul 30, 2020 9:32:51 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 57 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/TestExpectations
r265007 r265086 314 314 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html [ Pass Failure ] 315 315 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html [ Pass Failure ] 316 317 # Some of the subchecks are failing and print out a different value every time. 318 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting.html [ Pass Failure ] 319 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html [ Pass Failure ] 320 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling.html [ Pass Failure ] 321 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html [ Pass Failure ] 322 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html [ Pass Failure ] 323 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output.html [ Pass Failure ] 316 324 317 325 webkit.org/b/176929 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Pass Failure ] -
trunk/LayoutTests/imported/w3c/ChangeLog
r265066 r265086 1 2020-07-30 Chris Dumez <cdumez@apple.com> 2 3 OfflineAudioContext.startRendering() should return a Promise 4 https://bugs.webkit.org/show_bug.cgi?id=214940 5 6 Reviewed by Eric Carlson. 7 8 A lot of Web Audio web-platform-tests were unable to run properly due to OfflineAudioContext.startRendering() 9 not returning a Promise. Now that we fixed that, a lot of tests are actually running much further. We get a 10 lot of new PASS lines. We also get new FAIL lines too for subtests that are now running and failing but 11 previously could not even run. 12 13 * web-platform-tests/webaudio/idlharness.https.window-expected.txt: 14 * web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling-expected.txt: 15 * web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-gain-expected.txt: 16 * web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-reuse-expected.txt: 17 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain-expected.txt: 18 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop-expected.txt: 19 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start-expected.txt: 20 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended-expected.txt: 21 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits-expected.txt: 22 * web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling-expected.txt: 23 * web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-suspend-resume-expected.txt: 24 * web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-connect-order-expected.txt: 25 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-connect-audioratesignal-expected.txt: 26 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-setValueCurve-exceptions-expected.txt: 27 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-summingjunction-expected.txt: 28 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setTargetAtTime-after-event-within-block-expected.txt: 29 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block-expected.txt: 30 * web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect-expected.txt: 31 * web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-expected.txt: 32 * web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default-expected.txt: 33 * web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt: 34 * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolution-mono-mono-expected.txt: 35 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-expected.txt: 36 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-default-delay-expected.txt: 37 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-nondefault-delay-expected.txt: 38 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelay-expected.txt: 39 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelaylimit-expected.txt: 40 * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-scheduling-expected.txt: 41 * web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt: 42 * web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt: 43 * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt: 44 * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt: 45 * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation-expected.txt: 46 * web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-expected.txt: 47 1 48 2020-07-29 Clark Wang <clark_wang@apple.com> 2 49 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/idlharness.https.window-expected.txt
r265066 r265086 113 113 PASS OfflineAudioContext interface: existence and properties of interface prototype object's "constructor" property 114 114 PASS OfflineAudioContext interface: existence and properties of interface prototype object's @@unscopables property 115 FAIL OfflineAudioContext interface: operation startRendering() assert_unreached: Throws "TypeError: Can only call OfflineAudioContext.startRendering on instances of OfflineAudioContext" instead of rejecting promise Reached unreachable code 115 PASS OfflineAudioContext interface: operation startRendering() 116 116 PASS OfflineAudioContext interface: operation resume() 117 117 FAIL OfflineAudioContext interface: operation suspend(double) assert_equals: property has wrong .length expected 1 but got 0 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "FFT scaling tests" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "FFT scaling tests" 4 4 PASS Audit report 5 5 PASS > [FFT scaling tests] Test Scaling of FFT in AnalyserNode 6 PASS 32-point FFT peak position is equal to 1. 7 PASS 32-point FFT peak value in dBFS is greater than or equal to -14.43. 8 PASS 64-point FFT peak position is equal to 2. 9 PASS 64-point FFT peak value in dBFS is greater than or equal to -13.56. 10 PASS 128-point FFT peak position is equal to 4. 11 PASS 128-point FFT peak value in dBFS is greater than or equal to -13.56. 12 PASS 256-point FFT peak position is equal to 8. 13 PASS 256-point FFT peak value in dBFS is greater than or equal to -13.56. 14 PASS 512-point FFT peak position is equal to 16. 15 PASS 512-point FFT peak value in dBFS is greater than or equal to -13.56. 16 PASS 1024-point FFT peak position is equal to 32. 17 PASS 1024-point FFT peak value in dBFS is greater than or equal to -13.56. 18 PASS 2048-point FFT peak position is equal to 64. 19 PASS 2048-point FFT peak value in dBFS is greater than or equal to -13.56. 20 PASS 4096-point FFT peak position is equal to 128. 21 PASS 4096-point FFT peak value in dBFS is greater than or equal to -13.56. 22 PASS 8192-point FFT peak position is equal to 256. 23 PASS 8192-point FFT peak value in dBFS is greater than or equal to -13.56. 24 PASS 16384-point FFT peak position is equal to 512. 25 PASS 16384-point FFT peak value in dBFS is greater than or equal to -13.56. 26 PASS 32768-point FFT peak position is equal to 1024. 27 PASS 32768-point FFT peak value in dBFS is greater than or equal to -13.56. 28 PASS < [FFT scaling tests] All assertions passed. (total 22 assertions) 6 29 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 7 30 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-gain-expected.txt
r230353 r265086 1 1 2 FAIL Test effect of AnalyserNode on GainNode output undefined is not an object (evaluating 'context.startRendering().then')2 FAIL Test effect of AnalyserNode on GainNode output assert_equals: analyser1 output expected 1 but got 0 3 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-reuse-expected.txt
r262405 r265086 1 1 2 FAIL AudioBuffer can be reused between AudioBufferSourceNodes undefined is not an object (evaluating 'render_audio_context() 3 .then') 2 PASS AudioBuffer can be reused between AudioBufferSourceNodes 4 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "Test setting the source buffer after starting the grain" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "Test setting the source buffer after starting the grain" 5 4 PASS Audit report 6 5 PASS > [Test setting the source buffer after starting the grain] 7 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 6 FAIL X Buffer was played is not true. Got false. assert_true: expected true got false 7 FAIL < [Test setting the source buffer after starting the grain] 1 out of 1 assertions were failed. assert_true: expected true got false 8 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "one-sample-loop" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "one-sample-loop" 5 4 PASS Audit report 6 5 PASS > [one-sample-loop] 7 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 6 FAIL X Rendered data: Expected 1 for all values but found 1000 unexpected values: 7 Index Actual 8 [0] 0 9 [1] 0 10 [2] 0 11 [3] 0 12 ...and 996 more errors. assert_true: expected true got false 13 FAIL < [one-sample-loop] 1 out of 1 assertions were failed. assert_true: expected true got false 14 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 8 15 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "Tests AudioBufferSourceNode start()" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "Tests AudioBufferSourceNode start()" 4 4 PASS Audit report 5 5 PASS > [Tests AudioBufferSourceNode start()] 6 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 6 PASS Case 0: start(when): implicitly play whole buffer from beginning to end is identical to the array [0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,0...]. 7 PASS Case 0: start(when): implicitly play whole buffer from beginning to end: tail contains only the constant 0. 8 PASS Case 1: start(when, 0): play whole buffer from beginning to end explicitly giving offset of 0 is identical to the array [0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,0...]. 9 PASS Case 1: start(when, 0): play whole buffer from beginning to end explicitly giving offset of 0: tail contains only the constant 0. 10 PASS Case 2: start(when, 0, 8_frames): play whole buffer from beginning to end explicitly giving offset of 0 and duration of 8 frames is identical to the array [0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,0...]. 11 PASS Case 2: start(when, 0, 8_frames): play whole buffer from beginning to end explicitly giving offset of 0 and duration of 8 frames: tail contains only the constant 0. 12 PASS Case 3: start(when, 4_frames): play with explicit non-zero offset is identical to the array [4,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0...]. 13 PASS Case 3: start(when, 4_frames): play with explicit non-zero offset: tail contains only the constant 0. 14 PASS Case 4: start(when, 4_frames, 4_frames): play with explicit non-zero offset and duration is identical to the array [4,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0...]. 15 PASS Case 4: start(when, 4_frames, 4_frames): play with explicit non-zero offset and duration: tail contains only the constant 0. 16 PASS Case 5: start(when, 7_frames): play with explicit non-zero offset near end of buffer is identical to the array [7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...]. 17 PASS Case 5: start(when, 7_frames): play with explicit non-zero offset near end of buffer: tail contains only the constant 0. 18 FAIL X Case 6: start(when, 8_frames): play with explicit offset at end of buffer expected to be equal to the array [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] but differs in 7 places: 19 Index Actual Expected 20 [1] 1.0000000000000000e+0 0.0000000000000000e+0 21 [2] 2.0000000000000000e+0 0.0000000000000000e+0 22 [3] 3.0000000000000000e+0 0.0000000000000000e+0 23 [4] 4.0000000000000000e+0 0.0000000000000000e+0 24 ...and 3 more errors. assert_true: expected true got false 25 PASS Case 6: start(when, 8_frames): play with explicit offset at end of buffer: tail contains only the constant 0. 26 FAIL X Case 7: start(when, 9_frames): play with explicit offset past end of buffer expected to be equal to the array [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] but differs in 7 places: 27 Index Actual Expected 28 [1] 1.0000000000000000e+0 0.0000000000000000e+0 29 [2] 2.0000000000000000e+0 0.0000000000000000e+0 30 [3] 3.0000000000000000e+0 0.0000000000000000e+0 31 [4] 4.0000000000000000e+0 0.0000000000000000e+0 32 ...and 3 more errors. assert_true: expected true got false 33 PASS Case 7: start(when, 9_frames): play with explicit offset past end of buffer: tail contains only the constant 0. 34 PASS Case 8: start(when, 0, 15_frames): play with whole buffer, with long duration (clipped) is identical to the array [0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,0...]. 35 PASS Case 8: start(when, 0, 15_frames): play with whole buffer, with long duration (clipped): tail contains only the constant 0. 36 FAIL < [Tests AudioBufferSourceNode start()] 2 out of 18 assertions were failed. assert_true: expected true got false 37 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 7 38 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "absn-set-onended" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 4 FAIL Executing "absn-add-listener" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 FAIL Executing "osc-set-onended" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 6 FAIL Executing "osc-add-listener" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "absn-set-onended" 4 PASS Executing "absn-add-listener" 5 PASS Executing "osc-set-onended" 6 PASS Executing "osc-add-listener" 7 7 PASS Audit report 8 8 PASS > [absn-set-onended] 9 PASS AudioBufferSource.onended called when ended set directly is equal to true. 10 PASS < [absn-set-onended] All assertions passed. (total 1 assertions) 9 11 PASS > [absn-add-listener] 12 PASS AudioBufferSource.onended called when using addEventListener is equal to true. 13 PASS < [absn-add-listener] All assertions passed. (total 1 assertions) 10 14 PASS > [osc-set-onended] 15 PASS Oscillator.onended called when ended set directly is equal to true. 16 PASS < [osc-set-onended] All assertions passed. (total 1 assertions) 11 17 PASS > [osc-add-listener] 18 PASS Oscillator.onended called when using addEventListener is equal to true. 19 PASS < [osc-add-listener] All assertions passed. (total 1 assertions) 12 20 PASS # AUDIT TASK RUNNER FINISHED: 4 tasks ran successfully. 13 21 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "buffersource: huge stop time" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 5 FAIL Executing "oscillator: huge stop time" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 6 .then')" 3 PASS Executing "buffersource: huge stop time" 4 PASS Executing "oscillator: huge stop time" 7 5 PASS Audit report 8 6 PASS > [buffersource: huge stop time] 7 FAIL X Output from AudioBufferSource.stop(1e+300): Expected 1 for all values but found 1000 unexpected values: 8 Index Actual 9 [0] 0 10 [1] 0 11 [2] 0 12 [3] 0 13 ...and 996 more errors. assert_true: expected true got false 14 FAIL < [buffersource: huge stop time] 1 out of 1 assertions were failed. assert_true: expected true got false 9 15 PASS > [oscillator: huge stop time] 10 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 16 FAIL X Peak amplitude from oscillator.stop(1e+300) is not greater than 0. Got 0. assert_true: expected true got false 17 FAIL < [oscillator: huge stop time] 1 out of 1 assertions were failed. assert_true: expected true got false 18 FAIL # AUDIT TASK RUNNER FINISHED: 2 out of 2 tasks were failed. assert_true: expected true got false 11 19 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt
r265066 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "interpolate" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "interpolate" 5 4 PASS Audit report 6 5 PASS > [interpolate] Interpolation of AudioBuffers to context sample rate 6 PASS Interpolated sine wave equals [0,0.057564035058021545,0.11493717133998871,0.17192906141281128,0.22835084795951843,0.2840152382850647,0.3387378752231598,0.39233696460723877,0.44463497400283813,0.4954586327075958,0.5446387529373169,0.5920130610466003,0.6374237537384033,0.6807206869125366,0.7217600345611572,0.7604058980941772...] with an element-wise tolerance of {"absoluteThreshold":0.090348,"relativeThreshold":0}. 7 PASS SNR (Infinity dB) is greater than or equal to 37.17. 8 PASS < [interpolate] All assertions passed. (total 2 assertions) 7 9 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "test" 4 4 PASS Audit report 5 5 PASS > [test] Test sample-accurate scheduling 6 PASS Content of left and right channels match and is identical to the array [1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0...]. 7 PASS Non-zero sample found at sample offset 0 is true. 8 PASS Non-zero sample found at sample offset 3 is true. 9 PASS Non-zero sample found at sample offset 512 is true. 10 PASS Non-zero sample found at sample offset 517 is true. 11 PASS Non-zero sample found at sample offset 1000 is true. 12 PASS Non-zero sample found at sample offset 1005 is true. 13 PASS Non-zero sample found at sample offset 20000 is true. 14 PASS Non-zero sample found at sample offset 21234 is true. 15 PASS Non-zero sample found at sample offset 37590 is true. 16 PASS Number of impulses found is equal to 9. 17 PASS bad offset is equal to 0. 18 PASS < [test] All assertions passed. (total 12 assertions) 6 19 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 7 20 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt
r265066 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "buffer-stitching-1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'testBufferStitching(sampleRate, bufferRate, bufferLength) 4 .then')" 5 FAIL Executing "buffer-stitching-2" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'testBufferStitching(sampleRate, bufferRate, bufferLength) 6 .then')" 3 PASS Executing "buffer-stitching-1" 4 PASS Executing "buffer-stitching-2" 7 5 PASS Audit report 8 6 PASS > [buffer-stitching-1] Subsample buffer stitching, same rates 9 7 PASS Test 1: context.sampleRate is equal to 44100. 8 PASS Stitched sine-wave buffers at sample rate 44100 equals [0,0.057564035058021545,0.11493717133998871,0.17192906141281128,0.22835084795951843,0.2840152382850647,0.3387378752231598,0.39233696460723877,0.44463497400283813,0.4954586327075958,0.5446387529373169,0.5920130610466003,0.6374237537384033,0.6807206869125366,0.7217600345611572,0.7604058980941772...] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}. 9 PASS SNR (Infinity dB) is greater than or equal to 85.58. 10 PASS < [buffer-stitching-1] All assertions passed. (total 3 assertions) 10 11 PASS > [buffer-stitching-2] Subsample buffer stitching, different rates 11 12 PASS Test 2: context.sampleRate is equal to 44100. 13 PASS Stitched sine-wave buffers at sample rate 43800 equals [0,0.057564035058021545,0.11493717133998871,0.17192906141281128,0.22835084795951843,0.2840152382850647,0.3387378752231598,0.39233696460723877,0.44463497400283813,0.4954586327075958,0.5446387529373169,0.5920130610466003,0.6374237537384033,0.6807206869125366,0.7217600345611572,0.7604058980941772...] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}. 14 PASS SNR (Infinity dB) is greater than or equal to 65.737. 15 PASS < [buffer-stitching-2] All assertions passed. (total 3 assertions) 12 16 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 13 17 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-suspend-resume-expected.txt
r262405 r265086 3 3 PASS Executing "test-suspend" 4 4 PASS Executing "test-resume" 5 FAIL Executing "test-after-close" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'p3.then')" 5 PASS Executing "test-after-close" 6 6 PASS Executing "resume-running-context" 7 7 PASS Audit report … … 21 21 PASS > [test-after-close] Test state after context closed 22 22 PASS p3 = offlineContext.startRendering() did not throw an exception. 23 PASS After close, offlineContext.state is equal to closed. 24 PASS offlineContext.suspend() rejected correctly with InvalidStateError: The object is in an invalid state.. 25 PASS offlineContext.resume() rejected correctly with InvalidStateError: The object is in an invalid state.. 26 PASS < [test-after-close] All assertions passed. (total 4 assertions) 23 27 PASS > [resume-running-context] Test resuming a running context 24 28 PASS Create online context did not throw an exception. -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-connect-order-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "Test connections" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'this._actual.then')" 3 PASS Executing "Test connections" 4 4 PASS Audit report 5 5 PASS > [Test connections] AudioNode connection order doesn't trigger assertion errors 6 6 PASS Connecting nodes did not throw an exception. 7 PASS OfflineContext startRendering() resolved correctly. 8 PASS < [Test connections] All assertions passed. (total 2 assertions) 7 9 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam-expected.txt
r262405 r265086 1 2 Harness Error (FAIL), message = Unhandled rejection: The object is in an invalid state. 1 3 2 4 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "disconnect(AudioParam)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 5 FAIL Executing "disconnect(AudioParam, output)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 6 .then')" 5 PASS Executing "disconnect(AudioParam)" 6 PASS Executing "disconnect(AudioParam, output)" 7 7 PASS Executing "exceptions" 8 8 PASS Audit report 9 9 PASS > [disconnect(AudioParam)] 10 FAIL X Channel #0 expected to have the value sequence of [2.25,1.5] but got 1 values, [0], instead of 2. assert_true: expected true got false 11 FAIL X The index of value change is not equal to 11136. Got -1. assert_true: expected true got false 12 FAIL < [disconnect(AudioParam)] 2 out of 2 assertions were failed. assert_true: expected true got false 10 13 PASS > [disconnect(AudioParam, output)] 14 FAIL X Channel #0 expected to have the value sequence of [3,1.5] but got 1 values, [0], instead of 2. assert_true: expected true got false 15 FAIL X The index of value change in channel #0 is not equal to 11136. Got -1. assert_true: expected true got false 16 FAIL X Channel #1 expected to have the value sequence of [6,3] but got 1 values, [0], instead of 2. assert_true: expected true got false 17 FAIL X The index of value change in channel #1 is not equal to 11136. Got -1. assert_true: expected true got false 18 FAIL < [disconnect(AudioParam, output)] 4 out of 4 assertions were failed. assert_true: expected true got false 11 19 PASS > [exceptions] 12 20 FAIL X gain1.disconnect(gain3.gain) did not throw an exception. assert_true: expected true got false … … 14 22 FAIL X splitter.disconnect(gain1.gain, 2) did not throw an exception. assert_true: expected true got false 15 23 FAIL < [exceptions] 3 out of 3 assertions were failed. assert_true: expected true got false 16 FAIL # AUDIT TASK RUNNER FINISHED: 1out of 3 tasks were failed. assert_true: expected true got false24 FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 3 tasks were failed. assert_true: expected true got false 17 25 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "disconnect()" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 5 FAIL Executing "disconnect(output)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 6 .then')" 7 FAIL Executing "disconnect(AudioNode)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 8 .then')" 9 FAIL Executing "disconnect(AudioNode, output)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 10 .then')" 11 FAIL Executing "disconnect(AudioNode, output, input)" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 12 .then')" 3 PASS Executing "disconnect()" 4 PASS Executing "disconnect(output)" 5 PASS Executing "disconnect(AudioNode)" 6 PASS Executing "disconnect(AudioNode, output)" 7 PASS Executing "disconnect(AudioNode, output, input)" 13 8 PASS Executing "exceptions" 14 FAIL Executing "disabled-outputs" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 15 .then')" 9 PASS Executing "disabled-outputs" 16 10 PASS Audit report 17 11 PASS > [disconnect()] 12 PASS Channel #0 contains only the constant 0. 13 PASS < [disconnect()] All assertions passed. (total 1 assertions) 18 14 PASS > [disconnect(output)] 15 PASS Channel #0 contains only the constant 4. 16 PASS < [disconnect(output)] All assertions passed. (total 1 assertions) 19 17 PASS > [disconnect(AudioNode)] 18 FAIL X Channel #0: Expected 2 for all values but found 128 unexpected values: 19 Index Actual 20 [0] 0 21 [1] 0 22 [2] 0 23 [3] 0 24 ...and 124 more errors. assert_true: expected true got false 25 FAIL < [disconnect(AudioNode)] 1 out of 1 assertions were failed. assert_true: expected true got false 20 26 PASS > [disconnect(AudioNode, output)] 27 FAIL X Channel #0: Expected 3 for all values but found 128 unexpected values: 28 Index Actual 29 [0] 2 30 [1] 2 31 [2] 2 32 [3] 2 33 ...and 124 more errors. assert_true: expected true got false 34 FAIL < [disconnect(AudioNode, output)] 1 out of 1 assertions were failed. assert_true: expected true got false 21 35 PASS > [disconnect(AudioNode, output, input)] 36 FAIL X Channel #0: Expected 1 for all values but found 128 unexpected values: 37 Index Actual 38 [0] 2 39 [1] 2 40 [2] 2 41 [3] 2 42 ...and 124 more errors. assert_true: expected true got false 43 FAIL X Channel #1: Expected 2 for all values but found 128 unexpected values: 44 Index Actual 45 [0] 3 46 [1] 3 47 [2] 3 48 [3] 3 49 ...and 124 more errors. assert_true: expected true got false 50 PASS Channel #2 contains only the constant 0. 51 FAIL < [disconnect(AudioNode, output, input)] 2 out of 3 assertions were failed. assert_true: expected true got false 22 52 PASS > [exceptions] 23 53 PASS splitter.disconnect(2) threw IndexSizeError: "The index is not in the allowed range.". … … 31 61 FAIL < [exceptions] 6 out of 8 assertions were failed. assert_true: expected true got false 32 62 PASS > [disabled-outputs] 33 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 7 tasks were failed. assert_true: expected true got false 63 PASS Disabled outputs handled correctly 64 PASS < [disabled-outputs] All assertions passed. (total 1 assertions) 65 FAIL # AUDIT TASK RUNNER FINISHED: 4 out of 7 tasks were failed. assert_true: expected true got false 34 66 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-connect-audioratesignal-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "test" 4 4 PASS Audit report 5 5 PASS > [test] 6 PASS Rendered signal length is equal to 44100. 7 PASS Rendered signal exactly matches the audio-rate gain changing signal is true. 8 PASS < [test] All assertions passed. (total 2 assertions) 6 9 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 7 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-large-endtime-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "linearRamp" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'graph.context.startRendering() 4 .then')" 5 FAIL Executing "exponentialRamp" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'graph.context.startRendering() 6 .then')" 3 PASS Executing "linearRamp" 4 PASS Executing "exponentialRamp" 7 5 PASS Audit report 8 6 PASS > [linearRamp] 7 PASS linearRampToValue(0.1, 1e+300) successfully rendered 8 PASS < [linearRamp] All assertions passed. (total 1 assertions) 9 9 PASS > [exponentialRamp] 10 PASS exponentialRampToValue(0.1, 1e+300) successfully rendered 11 PASS < [exponentialRamp] All assertions passed. (total 1 assertions) 10 12 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 11 13 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-setValueCurve-exceptions-expected.txt
r262405 r265086 3 3 PASS Executing "setValueCurve" 4 4 PASS Executing "automations" 5 FAIL Executing "catch-exception" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 6 .then')" 5 PASS Executing "catch-exception" 7 6 PASS Executing "start-end" 8 7 PASS Executing "curve overlap" … … 33 32 FAIL < [automations] 8 out of 13 assertions were failed. assert_true: expected true got false 34 33 PASS > [catch-exception] 34 FAIL X Handled setValueCurve exception so output: Expected 1 for all values but found 6000 unexpected values: 35 Index Actual 36 [0] 0 37 [1] 0 38 [2] 0 39 [3] 0 40 ...and 5996 more errors. assert_true: expected true got false 41 FAIL < [catch-exception] 1 out of 1 assertions were failed. assert_true: expected true got false 35 42 PASS > [start-end] 36 43 PASS setValueAtTime(1, 0) did not throw an exception. … … 59 66 PASS setValueCurveAtTime([1,2], 0, 0.01) did not throw an exception. 60 67 FAIL < [curve lengths] 2 out of 3 assertions were failed. assert_true: expected true got false 61 FAIL # AUDIT TASK RUNNER FINISHED: 4out of 6 tasks were failed. assert_true: expected true got false68 FAIL # AUDIT TASK RUNNER FINISHED: 5 out of 6 tasks were failed. assert_true: expected true got false 62 69 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-summingjunction-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "test" 4 4 PASS Audit report 5 5 PASS > [test] 6 PASS Rendered signal length is equal to 44100. 7 PASS Rendered signal matches sum of two audio-rate gain changing signals plus baseline gain is true. 8 PASS < [test] All assertions passed. (total 2 assertions) 6 9 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 7 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setTargetAtTime-after-event-within-block-expected.txt
r230353 r265086 1 1 2 FAIL Test setTargetAtTime after an event in the same processing block undefined is not an object (evaluating 'context.startRendering(). 3 then') 2 FAIL Test setTargetAtTime after an event in the same processing block assert_equals: default gain at sample 0 expected 1 but got 0 4 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block-expected.txt
r230353 r265086 1 1 2 FAIL Test setValueAtTime with start time not on a block boundary undefined is not an object (evaluating 'context.startRendering(). 3 then') 2 FAIL Test setValueAtTime with start time not on a block boundary assert_equals: default gain at sample 0 expected 1 but got 0 4 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect-expected.txt
r262405 r265086 1 2 Harness Error (FAIL), message = Unhandled rejection: The object is in an invalid state. 1 3 2 4 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "silent-disconnect" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 5 PASS Executing "silent-disconnect" 5 6 PASS Audit report 6 7 PASS > [silent-disconnect] 7 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 FAIL X Channel #0: Expected 1 for all values but found 22050 unexpected values: 9 Index Actual 10 [0] 0 11 [1] 0 12 [2] 0 13 [3] 0 14 ...and 22046 more errors. assert_true: expected true got false 15 FAIL X Channel #1 expected to have the value sequence of [1,0] but got 1 values, [0], instead of 2. assert_true: expected true got false 16 FAIL X The index of first zero in the channel #1 is not equal to 11136. Got 1. assert_true: expected true got false 17 FAIL < [silent-disconnect] 3 out of 3 assertions were failed. assert_true: expected true got false 18 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 8 19 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "silent-channel" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 4 FAIL Executing "stereo-down-mixing" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 FAIL Executing "undefined-channel-layout" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 6 FAIL Executing "merging-to-stereo" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "silent-channel" 4 PASS Executing "stereo-down-mixing" 5 PASS Executing "undefined-channel-layout" 6 PASS Executing "merging-to-stereo" 7 7 PASS Audit report 8 8 PASS > [silent-channel] 9 PASS 1-channel source: Channel #0 contains only the constant 0. 10 PASS 1-channel source: Channel #1 contains only the constant 0. 11 FAIL X 1-channel source: Channel #2: Expected 0 for all values but found 128 unexpected values: 12 Index Actual 13 [0] 1 14 [1] 1 15 [2] 1 16 [3] 1 17 ...and 124 more errors. assert_true: expected true got false 18 FAIL X 1-channel source: Channel #3: Expected 1 for all values but found 128 unexpected values: 19 Index Actual 20 [0] 0 21 [1] 0 22 [2] 0 23 [3] 0 24 ...and 124 more errors. assert_true: expected true got false 25 PASS 1-channel source: Channel #4 contains only the constant 0. 26 PASS 1-channel source: Channel #5 contains only the constant 0. 27 FAIL < [silent-channel] 2 out of 6 assertions were failed. assert_true: expected true got false 9 28 PASS > [stereo-down-mixing] 29 FAIL X 2-channel source: Channel #0: Expected 1.5 for all values but found 128 unexpected values: 30 Index Actual 31 [0] 0 32 [1] 0 33 [2] 0 34 [3] 0 35 ...and 124 more errors. assert_true: expected true got false 36 PASS 2-channel source: Channel #1 contains only the constant 0. 37 FAIL X 2-channel source: Channel #2: Expected 0 for all values but found 128 unexpected values: 38 Index Actual 39 [0] 1.5 40 [1] 1.5 41 [2] 1.5 42 [3] 1.5 43 ...and 124 more errors. assert_true: expected true got false 44 PASS 2-channel source: Channel #3 contains only the constant 0. 45 PASS 2-channel source: Channel #4 contains only the constant 0. 46 PASS 2-channel source: Channel #5 contains only the constant 0. 47 FAIL < [stereo-down-mixing] 2 out of 6 assertions were failed. assert_true: expected true got false 10 48 PASS > [undefined-channel-layout] 49 FAIL X 3-channel source: Channel #0: Expected 1 for all values but found 128 unexpected values: 50 Index Actual 51 [0] 0 52 [1] 0 53 [2] 0 54 [3] 0 55 ...and 124 more errors. assert_true: expected true got false 56 PASS 3-channel source: Channel #1 contains only the constant 0. 57 FAIL X 3-channel source: Channel #2: Expected 0 for all values but found 128 unexpected values: 58 Index Actual 59 [0] 1 60 [1] 1 61 [2] 1 62 [3] 1 63 ...and 124 more errors. assert_true: expected true got false 64 PASS 3-channel source: Channel #3 contains only the constant 0. 65 PASS 3-channel source: Channel #4 contains only the constant 0. 66 PASS 3-channel source: Channel #5 contains only the constant 0. 67 FAIL < [undefined-channel-layout] 2 out of 6 assertions were failed. assert_true: expected true got false 11 68 PASS > [merging-to-stereo] 12 PASS # AUDIT TASK RUNNER FINISHED: 4 tasks ran successfully. 69 PASS Channel #0 contains only the constant 1. 70 PASS Channel #1 contains only the constant -1. 71 PASS < [merging-to-stereo] All assertions passed. (total 2 assertions) 72 FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 4 tasks were failed. assert_true: expected true got false 13 73 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "silent-channel" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 4 FAIL Executing "stereo-down-mixing" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 FAIL Executing "undefined-channel-layout" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 3 PASS Executing "silent-channel" 4 PASS Executing "stereo-down-mixing" 5 PASS Executing "undefined-channel-layout" 6 6 PASS Audit report 7 7 PASS > [silent-channel] 8 FAIL X 1-channel source: Channel #0: Expected 0 for all values but found 128 unexpected values: 9 Index Actual 10 [0] 1 11 [1] 1 12 [2] 1 13 [3] 1 14 ...and 124 more errors. assert_true: expected true got false 15 PASS 1-channel source: Channel #1 contains only the constant 0. 16 PASS 1-channel source: Channel #2 contains only the constant 0. 17 PASS 1-channel source: Channel #3 contains only the constant 0. 18 PASS 1-channel source: Channel #4 contains only the constant 0. 19 PASS 1-channel source: Channel #5 contains only the constant 0. 20 FAIL X 1-channel source: Channel #6: Expected 1 for all values but found 128 unexpected values: 21 Index Actual 22 [0] 0 23 [1] 0 24 [2] 0 25 [3] 0 26 ...and 124 more errors. assert_true: expected true got false 27 FAIL < [silent-channel] 2 out of 7 assertions were failed. assert_true: expected true got false 8 28 PASS > [stereo-down-mixing] 29 FAIL X 2-channel source: Channel #0: Expected 0 for all values but found 128 unexpected values: 30 Index Actual 31 [0] 1.5 32 [1] 1.5 33 [2] 1.5 34 [3] 1.5 35 ...and 124 more errors. assert_true: expected true got false 36 PASS 2-channel source: Channel #1 contains only the constant 0. 37 PASS 2-channel source: Channel #2 contains only the constant 0. 38 PASS 2-channel source: Channel #3 contains only the constant 0. 39 PASS 2-channel source: Channel #4 contains only the constant 0. 40 PASS 2-channel source: Channel #5 contains only the constant 0. 41 FAIL X 2-channel source: Channel #6: Expected 1.5 for all values but found 128 unexpected values: 42 Index Actual 43 [0] 0 44 [1] 0 45 [2] 0 46 [3] 0 47 ...and 124 more errors. assert_true: expected true got false 48 FAIL < [stereo-down-mixing] 2 out of 7 assertions were failed. assert_true: expected true got false 9 49 PASS > [undefined-channel-layout] 10 PASS # AUDIT TASK RUNNER FINISHED: 3 tasks ran successfully. 50 FAIL X 3-channel source: Channel #0: Expected 0 for all values but found 128 unexpected values: 51 Index Actual 52 [0] 1 53 [1] 1 54 [2] 1 55 [3] 1 56 ...and 124 more errors. assert_true: expected true got false 57 PASS 3-channel source: Channel #1 contains only the constant 0. 58 PASS 3-channel source: Channel #2 contains only the constant 0. 59 PASS 3-channel source: Channel #3 contains only the constant 0. 60 PASS 3-channel source: Channel #4 contains only the constant 0. 61 PASS 3-channel source: Channel #5 contains only the constant 0. 62 FAIL X 3-channel source: Channel #6: Expected 1 for all values but found 128 unexpected values: 63 Index Actual 64 [0] 0 65 [1] 0 66 [2] 0 67 [3] 0 68 ...and 124 more errors. assert_true: expected true got false 69 FAIL < [undefined-channel-layout] 2 out of 7 assertions were failed. assert_true: expected true got false 70 FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 3 tasks were failed. assert_true: expected true got false 11 71 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt
r265066 r265086 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 3 PASS Executing "construction" 4 FAIL Executing "functionality" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 5 .then')" 4 PASS Executing "functionality" 6 5 PASS Audit report 7 6 PASS > [construction] Construction of ChannelSplitterNode … … 15 14 PASS < [construction] All assertions passed. (total 7 assertions) 16 15 PASS > [functionality] Functionality of ChannelSplitterNode 16 PASS Left channel contains only the constant -1. 17 PASS Right channel contains only the constant 1. 18 PASS Left and right channels were exchanged correctly 19 PASS < [functionality] All assertions passed. (total 3 assertions) 17 20 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 18 21 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolution-mono-mono-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] 6 PASS Deviation (in dB) of triangular portion of convolution is less than or equal to -124.41. 7 PASS Deviation in first part of tail of convolutions is less than or equal to -129.7. 8 PASS Rendered signal after tail of convolution is silent is true. 9 PASS Test signal convolved correctly 10 PASS < [test] All assertions passed. (total 4 assertions) 7 11 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] Tests attribute and basic functionality of DelayNode … … 10 9 PASS delay.delayTime.value is equal to 0. 11 10 PASS delay.delayTime.value = 0.5 is equal to 0.5. 11 PASS Delaying test signal by 0.5 sec was done correctly 12 PASS < [test] All assertions passed. (total 6 assertions) 12 13 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 13 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-default-delay-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] DelayNode with delay set to default maximum delay 6 PASS Delaying test signal by 1 sec was done correctly 7 PASS < [test] All assertions passed. (total 1 assertions) 7 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-nondefault-delay-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] DelayNode with delay set to non-default maximum delay 6 PASS Delaying test signal by 1.5 sec was done correctly 7 PASS < [test] All assertions passed. (total 1 assertions) 7 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelay-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] Basic functionality of DelayNode with a non-default max delay time 6 PASS Delaying test signal by 1.5 sec was done correctly 7 PASS < [test] All assertions passed. (total 1 assertions) 7 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelaylimit-expected.txt
r264620 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] Tests attribute and maximum allowed delay of DelayNode … … 10 9 PASS Setting Delay length to NaN threw TypeError: "The provided value is non-finite". 11 10 PASS delay.delayTime.value = 0.5 is equal to 0.5. 11 PASS Delaying test signal by 0.5 sec was done correctly 12 PASS < [test] All assertions passed. (total 6 assertions) 12 13 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 13 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-scheduling-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] DelayNode delayTime parameter can be scheduled at a given time 6 PASS Delaying test signal by 0.5 sec was done correctly 7 PASS < [test] All assertions passed. (total 1 assertions) 7 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/current-time-block-size-expected.txt
r230353 r265086 1 1 2 FAIL Test currentTime at completion of OfflineAudioContext rendering undefined is not an object (evaluating 'context.startRendering(). 3 then') 2 FAIL Test currentTime at completion of OfflineAudioContext rendering promise_test: Unhandled rejection with value: object "InvalidStateError: The object is in an invalid state." 4 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt
r265066 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "detune limits" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 5 FAIL Executing "detune automation" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 6 .then')" 3 PASS Executing "detune limits" 4 PASS Executing "detune automation" 7 5 PASS Audit report 8 6 PASS > [detune limits] Oscillator with detune and frequency at Nyquist or above 7 PASS Context sample rate is equal to 44100. 8 PASS Reference oscillator frequency is greater than or equal to 22050. 9 PASS Osc(freq: 44100.00390625) output contains only the constant 0. 10 PASS Osc(freq: 1, detune: 18514.189453125) output equals [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 11 PASS < [detune limits] All assertions passed. (total 4 assertions) 9 12 PASS > [detune automation] Oscillator output with detune automation should be zero above Nyquist 10 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 13 PASS Frame where detuned oscillator reaches Nyquist is equal to 5. 14 PASS osc[0:4] is not constantly 0 (contains 4 different values). 15 FAIL X osc[5:]: Expected 0 for all values but found 5506 unexpected values: 16 Index Actual 17 [0] 0.0007123813265934587 18 [1] 0.0008548574987798929 19 [2] 0.000997333787381649 20 [3] 0.0011398100759834051 21 ...and 5502 more errors. assert_true: expected true got false 22 FAIL < [detune automation] 1 out of 3 assertions were failed. assert_true: expected true got false 23 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 2 tasks were failed. assert_true: expected true got false 11 24 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt
r264941 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "Test 0" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"4 FAIL Executing "Test 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"5 FAIL Executing "Test 2" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"6 FAIL Executing "Test 3" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"7 FAIL Executing "Test 4" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"8 FAIL Executing "Test 5" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'renderedBuffer.getChannelData')"3 FAIL Executing "Test 0" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 4 FAIL Executing "Test 1" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 5 FAIL Executing "Test 2" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 6 FAIL Executing "Test 3" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 7 FAIL Executing "Test 4" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 8 FAIL Executing "Test 5" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new AudioBuffer({length: nsamples, sampleRate: context.sampleRate})')" 9 9 PASS Audit report 10 10 PASS > [Test 0] Sine wave: 100 Hz -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt
r263118 r265086 1 2 Harness Error (FAIL), message = Unhandled rejection: The object is in an invalid state. 1 3 2 4 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "Stereo panner.positionX" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 4 FAIL Executing "Mono panner.positionX" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 FAIL Executing "Stereo panner.positionY" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 6 FAIL Executing "Mono panner.positionY" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 7 FAIL Executing "Stereo panner.positionZ" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 8 FAIL Executing "Mono panner.positionZ" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 PASS Executing "Stereo panner.positionX" 6 PASS Executing "Mono panner.positionX" 7 PASS Executing "Stereo panner.positionY" 8 PASS Executing "Mono panner.positionY" 9 PASS Executing "Stereo panner.positionZ" 10 PASS Executing "Mono panner.positionZ" 9 11 FAIL Executing "Stereo listener.positionX" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pannerSetter.value = 1')" 10 12 FAIL Executing "Mono listener.positionX" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pannerSetter.value = 1')" … … 13 15 FAIL Executing "Stereo listener.positionZ" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pannerSetter.value = 1')" 14 16 FAIL Executing "Mono listener.positionZ" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pannerSetter.value = 1')" 15 FAIL Executing "setPosition" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 16 .then')" 17 FAIL Executing "orientation setter" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 18 .then')" 19 FAIL Executing "forward setter" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 20 .then')" 21 FAIL Executing "up setter" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 22 .then')" 17 PASS Executing "setPosition" 18 PASS Executing "orientation setter" 19 PASS Executing "forward setter" 20 PASS Executing "up setter" 23 21 PASS Audit report 24 22 PASS > [Stereo panner.positionX] 23 PASS Stereo panner.positionX.value frame [0, 128) channel 0 contains only the constant 0. 24 PASS Stereo panner.positionX.value frame [0, 128) channel 1 contains only the constant 0. 25 PASS Stereo panner.positionX.value frame [128, 256) channel 0 contains only the constant 0. 26 PASS Stereo panner.positionX.value frame [128, 256) channel 1 contains only the constant 0. 27 FAIL X Stereo panner.positionX: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 28 FAIL X Stereo panner.positionX: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 29 FAIL < [Stereo panner.positionX] 2 out of 6 assertions were failed. assert_true: expected true got false 25 30 PASS > [Mono panner.positionX] 31 PASS Mono panner.positionX.value frame [0, 128) channel 0 contains only the constant 0. 32 PASS Mono panner.positionX.value frame [0, 128) channel 1 contains only the constant 0. 33 PASS Mono panner.positionX.value frame [128, 256) channel 0 contains only the constant 0. 34 PASS Mono panner.positionX.value frame [128, 256) channel 1 contains only the constant 0. 35 FAIL X Mono panner.positionX: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 36 FAIL X Mono panner.positionX: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 37 FAIL < [Mono panner.positionX] 2 out of 6 assertions were failed. assert_true: expected true got false 26 38 PASS > [Stereo panner.positionY] 39 PASS Stereo panner.positionY.value frame [0, 128) channel 0 contains only the constant 0. 40 PASS Stereo panner.positionY.value frame [0, 128) channel 1 contains only the constant 0. 41 PASS Stereo panner.positionY.value frame [128, 256) channel 0 contains only the constant 0. 42 PASS Stereo panner.positionY.value frame [128, 256) channel 1 contains only the constant 0. 43 FAIL X Stereo panner.positionY: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 44 FAIL X Stereo panner.positionY: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 45 FAIL < [Stereo panner.positionY] 2 out of 6 assertions were failed. assert_true: expected true got false 27 46 PASS > [Mono panner.positionY] 47 PASS Mono panner.positionY.value frame [0, 128) channel 0 contains only the constant 0. 48 PASS Mono panner.positionY.value frame [0, 128) channel 1 contains only the constant 0. 49 PASS Mono panner.positionY.value frame [128, 256) channel 0 contains only the constant 0. 50 PASS Mono panner.positionY.value frame [128, 256) channel 1 contains only the constant 0. 51 FAIL X Mono panner.positionY: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 52 FAIL X Mono panner.positionY: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 53 FAIL < [Mono panner.positionY] 2 out of 6 assertions were failed. assert_true: expected true got false 28 54 PASS > [Stereo panner.positionZ] 55 PASS Stereo panner.positionZ.value frame [0, 128) channel 0 contains only the constant 0. 56 PASS Stereo panner.positionZ.value frame [0, 128) channel 1 contains only the constant 0. 57 PASS Stereo panner.positionZ.value frame [128, 256) channel 0 contains only the constant 0. 58 PASS Stereo panner.positionZ.value frame [128, 256) channel 1 contains only the constant 0. 59 FAIL X Stereo panner.positionZ: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 60 FAIL X Stereo panner.positionZ: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 61 FAIL < [Stereo panner.positionZ] 2 out of 6 assertions were failed. assert_true: expected true got false 29 62 PASS > [Mono panner.positionZ] 63 PASS Mono panner.positionZ.value frame [0, 128) channel 0 contains only the constant 0. 64 PASS Mono panner.positionZ.value frame [0, 128) channel 1 contains only the constant 0. 65 PASS Mono panner.positionZ.value frame [128, 256) channel 0 contains only the constant 0. 66 PASS Mono panner.positionZ.value frame [128, 256) channel 1 contains only the constant 0. 67 FAIL X Mono panner.positionZ: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 68 FAIL X Mono panner.positionZ: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 69 FAIL < [Mono panner.positionZ] 2 out of 6 assertions were failed. assert_true: expected true got false 30 70 PASS > [Stereo listener.positionX] 31 71 PASS > [Mono listener.positionX] … … 35 75 PASS > [Mono listener.positionZ] 36 76 PASS > [setPosition] 77 PASS setPosition.value frame [0, 128) channel 0 contains only the constant 0. 78 PASS setPosition.value frame [0, 128) channel 1 contains only the constant 0. 79 PASS setPosition.value frame [128, 256) channel 0 contains only the constant 0. 80 PASS setPosition.value frame [128, 256) channel 1 contains only the constant 0. 81 FAIL X setPosition: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 82 FAIL X setPosition: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 83 FAIL < [setPosition] 2 out of 6 assertions were failed. assert_true: expected true got false 37 84 PASS > [orientation setter] 85 PASS panner.orientation{XYZ}.value frame [0, 128) channel 0 contains only the constant 0. 86 PASS panner.orientation{XYZ}.value frame [0, 128) channel 1 contains only the constant 0. 87 PASS panner.orientation{XYZ}.value frame [128, 256) channel 0 contains only the constant 0. 88 PASS panner.orientation{XYZ}.value frame [128, 256) channel 1 contains only the constant 0. 89 FAIL X panner.orientation{XYZ}: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 90 FAIL X panner.orientation{XYZ}: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 91 FAIL < [orientation setter] 2 out of 6 assertions were failed. assert_true: expected true got false 38 92 PASS > [forward setter] 93 PASS listener.forward{XYZ}.value frame [0, 128) channel 0 contains only the constant 0. 94 PASS listener.forward{XYZ}.value frame [0, 128) channel 1 contains only the constant 0. 95 PASS listener.forward{XYZ}.value frame [128, 256) channel 0 contains only the constant 0. 96 PASS listener.forward{XYZ}.value frame [128, 256) channel 1 contains only the constant 0. 97 FAIL X listener.forward{XYZ}: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 98 FAIL X listener.forward{XYZ}: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 99 FAIL < [forward setter] 2 out of 6 assertions were failed. assert_true: expected true got false 39 100 PASS > [up setter] 40 PASS # AUDIT TASK RUNNER FINISHED: 16 tasks ran successfully. 101 PASS listener.up{XYZ}.value frame [0, 128) channel 0 contains only the constant 0. 102 PASS listener.up{XYZ}.value frame [0, 128) channel 1 contains only the constant 0. 103 PASS listener.up{XYZ}.value frame [128, 256) channel 0 contains only the constant 0. 104 PASS listener.up{XYZ}.value frame [128, 256) channel 1 contains only the constant 0. 105 FAIL X listener.up{XYZ}: Output at frame 128 channel 0 should not be equal to 0. Got 0. assert_true: expected true got false 106 FAIL X listener.up{XYZ}: Output at frame 128 channel 1 should not be equal to 0. Got 0. assert_true: expected true got false 107 FAIL < [up setter] 2 out of 6 assertions were failed. assert_true: expected true got false 108 FAIL # AUDIT TASK RUNNER FINISHED: 10 out of 16 tasks were failed. assert_true: expected true got false 41 109 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt
r263118 r265086 1 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'context.listener.positionX.value') 2 3 Harness Error (FAIL), message = Unhandled rejection: undefined is not an object (evaluating 'context.listener.positionX.value') 1 4 2 5 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "0: 1-channel inverse rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 4 FAIL Executing "0: 2-channel inverse rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 FAIL Executing "1: 1-channel inverse rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 6 FAIL Executing "1: 2-channel inverse rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 7 FAIL Executing "2: 1-channel exponential rolloff: 1.5" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 8 FAIL Executing "2: 2-channel exponential rolloff: 1.5" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 9 FAIL Executing "3: 1-channel linear rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 10 FAIL Executing "3: 2-channel linear rolloff: 1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 11 PASSAudit report6 TIMEOUT Executing "0: 1-channel inverse rolloff: 1" Test timed out 7 NOTRUN Executing "0: 2-channel inverse rolloff: 1" 8 NOTRUN Executing "1: 1-channel inverse rolloff: 1" 9 NOTRUN Executing "1: 2-channel inverse rolloff: 1" 10 NOTRUN Executing "2: 1-channel exponential rolloff: 1.5" 11 NOTRUN Executing "2: 2-channel exponential rolloff: 1.5" 12 NOTRUN Executing "3: 1-channel linear rolloff: 1" 13 NOTRUN Executing "3: 2-channel linear rolloff: 1" 14 NOTRUN Audit report 12 15 PASS > [0: 1-channel inverse rolloff: 1] 13 PASS > [0: 2-channel inverse rolloff: 1]14 PASS > [1: 1-channel inverse rolloff: 1]15 PASS > [1: 2-channel inverse rolloff: 1]16 PASS > [2: 1-channel exponential rolloff: 1.5]17 PASS > [2: 2-channel exponential rolloff: 1.5]18 PASS > [3: 1-channel linear rolloff: 1]19 PASS > [3: 2-channel linear rolloff: 1]20 PASS # AUDIT TASK RUNNER FINISHED: 8 tasks ran successfully.21 16 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt
r265066 r265086 3 3 PASS Executing "ref-distance-error" 4 4 PASS Executing "max-distance-error" 5 FAIL Executing "min-distance" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 6 FAIL Executing "max-distance" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')" 5 PASS Executing "min-distance" 6 PASS Executing "max-distance" 7 7 PASS Audit report 8 8 PASS > [ref-distance-error] … … 23 23 PASS < [max-distance-error] All assertions passed. (total 6 assertions) 24 24 PASS > [min-distance] 25 PASS Model: linear: Distance (0.01) is outside the range [1, 10000] is equal to true. 26 PASS Test panner output {"distance":0.01,"distanceModel":"linear"} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 27 PASS Model: inverse: Distance (0.01) is outside the range [1, 10000] is equal to true. 28 PASS Test panner output {"distance":0.01,"distanceModel":"inverse"} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 29 PASS Model: linear: Distance (2) is outside the range [10, 1000] is equal to true. 30 PASS Test panner output {"distance":2,"distanceModel":"linear","maxDistance":1000,"refDistance":10} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 31 PASS Model: exponential: Distance (2) is outside the range [10, 1000] is equal to true. 32 PASS Test panner output {"distance":2,"distanceModel":"exponential","maxDistance":1000,"refDistance":10} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 33 PASS Model: exponential: Distance (0.01) is outside the range [1, 10000] is equal to true. 34 PASS Test panner output {"distance":0.01,"distanceModel":"exponential"} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 35 PASS Model: inverse: Distance (2) is outside the range [10, 1000] is equal to true. 36 PASS Test panner output {"distance":2,"distanceModel":"inverse","maxDistance":1000,"refDistance":10} is identical to the array [0,0.20702190697193146,0.4738078713417053,-0.23029835522174835,-0.4195944368839264,-0.025587772950530052,0.04287987947463989,0.45131322741508484,0.15709976851940155,-0.49066805839538574,-0.165401428937912,0.00021875571110285819,0.25102242827415466,0.44553595781326294,-0.29729732871055603,-0.3819781243801117...]. 37 PASS < [min-distance] All assertions passed. (total 12 assertions) 25 38 PASS > [max-distance] 39 PASS Model: linear: Distance (20000) is outside the range [1, 10000] is equal to true. 40 PASS Test panner output {"distance":20000,"distanceModel":"linear"} is identical to the array [0,0.10351095348596573,0.23690393567085266,-0.11514917761087418,-0.2097972184419632,-0.012793886475265026,0.021439939737319946,0.22565661370754242,0.07854988425970078,-0.24533402919769287,-0.082700714468956,0.00010937785555142909,0.12551121413707733,0.22276797890663147,-0.14864866435527802,-0.19098906219005585...]. 41 PASS Model: exponential: Distance (21000) is outside the range [1, 10000] is equal to true. 42 PASS Test panner output {"distance":21000,"distanceModel":"exponential"} is identical to the array [0,0.002070219023153186,0.004738078452646732,-0.0023029835429042578,-0.004195944406092167,-0.0002558777341619134,0.00042879878310486674,0.004513132385909557,0.0015709976432844996,-0.0049066804349422455,-0.0016540142241865396,0.000002187557129218476,0.002510224236175418,0.004455359652638435,-0.0029729732777923346,-0.0038197811227291822...]. 43 PASS Model: inverse: Distance (23000) is outside the range [1, 10000] is equal to true. 44 PASS Test panner output {"distance":23000,"distanceModel":"inverse"} is identical to the array [0,0.00004140024248044938,0.0000947520966292359,-0.00004605506546795368,-0.00008391049777856097,-0.000005117042746860534,0.000008575118044973351,0.00009025361941894516,0.00003141681008855812,-0.00009812379721552134,-0.000033076976251322776,4.3746766209551424e-8,0.00005019946547690779,0.0000890982846613042,-0.00005945351949776523,-0.00007638798706466332...]. 45 PASS Model: linear: Distance (5000) is outside the range [10, 1000] is equal to true. 46 PASS Test panner output {"distance":5000,"distanceModel":"linear","maxDistance":1000,"refDistance":10} is identical to the array [0,0.10351095348596573,0.23690393567085266,-0.11514917761087418,-0.2097972184419632,-0.012793886475265026,0.021439939737319946,0.22565661370754242,0.07854988425970078,-0.24533402919769287,-0.082700714468956,0.00010937785555142909,0.12551121413707733,0.22276797890663147,-0.14864866435527802,-0.19098906219005585...]. 47 PASS Model: exponential: Distance (5000) is outside the range [10, 1000] is equal to true. 48 PASS Test panner output {"distance":5000,"distanceModel":"exponential","maxDistance":1000,"refDistance":10} is identical to the array [0,0.020702190697193146,0.04738078638911247,-0.023029835894703865,-0.04195944592356682,-0.002558777341619134,0.004287987947463989,0.045131321996450424,0.015709977596998215,-0.04906680807471275,-0.01654014363884926,0.00002187557220167946,0.025102242827415466,0.044553596526384354,-0.029729733243584633,-0.03819781169295311...]. 49 PASS Model: inverse: Distance (5000) is outside the range [10, 1000] is equal to true. 50 PASS Test panner output {"distance":5000,"distanceModel":"inverse","maxDistance":1000,"refDistance":10} is identical to the array [0,0.004099443554878235,0.009382333606481552,-0.004560363478958607,-0.008308800868690014,-0.0005066885496489704,0.0008491065236739814,0.008936895057559013,0.003110886551439762,-0.009716198779642582,-0.003275275696069002,0.00000433179639003356,0.004970740992575884,0.008822494186460972,-0.0058870757929980755,-0.007563923019915819...]. 51 PASS < [max-distance] All assertions passed. (total 12 assertions) 26 52 PASS # AUDIT TASK RUNNER FINISHED: 4 tasks ran successfully. 27 53 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation-expected.txt
r263118 r265086 1 1 2 FAIL PannerNode AudioParam automation works properly undefined is not an object (evaluating 'ac.startRendering().then')2 FAIL PannerNode AudioParam automation works properly assert_true: index 1111 should be on the right expected true got false 3 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt
r265066 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] ScriptProcessor with stopped input source 7 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 6 PASS ScriptProcessor output[0:1023] contains only the constant 0. 7 FAIL X ScriptProcessor output[1024:1151] does not equal [1,1.0575640201568604,1.11493718624115,1.171929121017456,1.2283508777618408,1.28401517868042,1.3387378454208374,1.3923369646072388,1.4446349143981934,1.4954586029052734,1.544638752937317,1.5920131206512451,1.6374237537384033,1.6807206869125366,1.7217600345611572,1.7604058980941772...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 8 Index Actual Expected AbsError RelError Test threshold 9 [0] 0.0000000000000000e+0 1.0000000000000000e+0 1.0000000000000000e+0 1.0000000000000000e+0 0.0000000000000000e+0 10 [1] 0.0000000000000000e+0 1.0575640201568604e+0 1.0575640201568604e+0 1.0000000000000000e+0 0.0000000000000000e+0 11 [2] 0.0000000000000000e+0 1.1149371862411499e+0 1.1149371862411499e+0 1.0000000000000000e+0 0.0000000000000000e+0 12 [3] 0.0000000000000000e+0 1.1719291210174561e+0 1.1719291210174561e+0 1.0000000000000000e+0 0.0000000000000000e+0 13 [4] 0.0000000000000000e+0 1.2283508777618408e+0 1.2283508777618408e+0 1.0000000000000000e+0 0.0000000000000000e+0 14 ...and 123 more errors. 15 Max AbsError of 1.9998764991760254e+0 at index of 27. 16 [27] 0.0000000000000000e+0 1.9998764991760254e+0 1.9998764991760254e+0 1.0000000000000000e+0 0.0000000000000000e+0 17 Max RelError of 1.0000000000000000e+0 at index of 0. 18 assert_true: expected true got false 19 FAIL X ScriptProcessor output[1152:]: Expected 1 for all values but found 46848 unexpected values: 20 Index Actual 21 [0] 0 22 [1] 0 23 [2] 0 24 [3] 0 25 ...and 46844 more errors. assert_true: expected true got false 26 FAIL < [test] 2 out of 3 assertions were failed. assert_true: expected true got false 27 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 8 28 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-expected.txt
r262405 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] 6 PASS WaveShaperNode applied non-linear distortion correctly is true. 7 PASS < [test] All assertions passed. (total 1 assertions) 7 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 8 9 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-limits-expected.txt
r265062 r265086 1 1 2 2 PASS # AUDIT TASK RUNNER STARTED. 3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering() 4 .then')" 3 PASS Executing "test" 5 4 PASS Audit report 6 5 PASS > [test] WaveShaperNode including values outside the range of [-1,1] 7 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 6 FAIL X Max error mapping -1.100000 to -0.150000 is not less than or equal to 0.000001. Got 0.15000003576278687. assert_true: expected true got false 7 PASS Max error mapping -1.000000 to 0.000000 is less than or equal to 0.000001. 8 FAIL X Max error mapping -0.900000 to 0.150000 is not less than or equal to 0.000001. Got 0.050000034272670746. assert_true: expected true got false 9 FAIL X Max error mapping -0.800000 to 0.300000 is not less than or equal to 0.000001. Got 0.09999997913837433. assert_true: expected true got false 10 FAIL X Max error mapping -0.700000 to 0.450000 is not less than or equal to 0.000001. Got 0.15000000596046448. assert_true: expected true got false 11 FAIL X Max error mapping -0.600000 to 0.600000 is not less than or equal to 0.000001. Got 0.19999995827674866. assert_true: expected true got false 12 FAIL X Max error mapping -0.500000 to 0.750000 is not less than or equal to 0.000001. Got 0.25. assert_true: expected true got false 13 FAIL X Max error mapping -0.400000 to 0.900000 is not less than or equal to 0.000001. Got 0.30000001192092896. assert_true: expected true got false 14 FAIL X Max error mapping -0.300000 to 0.950000 is not less than or equal to 0.000001. Got 0.2500000596046448. assert_true: expected true got false 15 PASS Max error mapping -0.200000 to 0.800000 is less than or equal to 0.000001. 16 FAIL X Max error mapping -0.100000 to 0.650000 is not less than or equal to 0.000001. Got 0.24999994039535522. assert_true: expected true got false 17 FAIL X Max error mapping 0.000000 to 0.500000 is not less than or equal to 0.000001. Got 0.5. assert_true: expected true got false 18 FAIL X Max error mapping 0.100000 to 0.350000 is not less than or equal to 0.000001. Got 0.550000011920929. assert_true: expected true got false 19 FAIL X Max error mapping 0.200000 to 0.200000 is not less than or equal to 0.000001. Got 0.6000000834465027. assert_true: expected true got false 20 FAIL X Max error mapping 0.300000 to 0.050000 is not less than or equal to 0.000001. Got 0.6499999165534973. assert_true: expected true got false 21 FAIL X Max error mapping 0.400000 to 0.000000 is not less than or equal to 0.000001. Got 0.6000000238418579. assert_true: expected true got false 22 FAIL X Max error mapping 0.500000 to 0.000000 is not less than or equal to 0.000001. Got 0.5. assert_true: expected true got false 23 FAIL X Max error mapping 0.600000 to 0.000000 is not less than or equal to 0.000001. Got 0.4000000059604645. assert_true: expected true got false 24 FAIL X Max error mapping 0.700000 to 0.000000 is not less than or equal to 0.000001. Got 0.30000001192092896. assert_true: expected true got false 25 FAIL X Max error mapping 0.800000 to 0.000000 is not less than or equal to 0.000001. Got 0.20000000298023224. assert_true: expected true got false 26 FAIL X Max error mapping 0.900000 to 0.000000 is not less than or equal to 0.000001. Got 0.10000000149011612. assert_true: expected true got false 27 PASS Max error mapping 1.000000 to 0.000000 is less than or equal to 0.000001. 28 PASS Max error mapping 1.100000 to 0.000000 is less than or equal to 0.000001. 29 FAIL < [test] 19 out of 23 assertions were failed. assert_true: expected true got false 30 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 8 31 -
trunk/Source/WebCore/ChangeLog
r265084 r265086 1 2020-07-30 Chris Dumez <cdumez@apple.com> 2 3 OfflineAudioContext.startRendering() should return a Promise 4 https://bugs.webkit.org/show_bug.cgi?id=214940 5 6 Reviewed by Eric Carlson. 7 8 OfflineAudioContext.startRendering() should return a Promise: 9 - https://www.w3.org/TR/webaudio/#dom-offlineaudiocontext-startrendering 10 11 This is important as it was preventing a lot of web-platform-tests from running 12 properly and our test coverage was therefore really poor. 13 14 No new tests, rebaselined existing tests. 15 16 * Modules/webaudio/AudioBuffer.idl: 17 * Modules/webaudio/AudioDestinationNode.h: 18 * Modules/webaudio/BaseAudioContext.cpp: 19 (WebCore::BaseAudioContext::finishedRendering): 20 * Modules/webaudio/BaseAudioContext.h: 21 (WebCore::BaseAudioContext::didFinishOfflineRendering): 22 * Modules/webaudio/DefaultAudioDestinationNode.cpp: 23 (WebCore::DefaultAudioDestinationNode::startRendering): 24 * Modules/webaudio/DefaultAudioDestinationNode.h: 25 * Modules/webaudio/OfflineAudioContext.cpp: 26 (WebCore::OfflineAudioContext::startOfflineRendering): 27 (WebCore::OfflineAudioContext::didFinishOfflineRendering): 28 * Modules/webaudio/OfflineAudioContext.h: 29 * Modules/webaudio/OfflineAudioContext.idl: 30 * Modules/webaudio/OfflineAudioDestinationNode.cpp: 31 (WebCore::OfflineAudioDestinationNode::startRendering): 32 * Modules/webaudio/OfflineAudioDestinationNode.h: 33 1 34 2020-07-30 Darin Adler <darin@apple.com> 2 35 -
trunk/Source/WebCore/Modules/webaudio/AudioBuffer.idl
r265062 r265086 30 30 Conditional=WEB_AUDIO, 31 31 ImplementationLacksVTable, 32 JSGenerateToJSObject, 32 33 ReportExtraMemoryCost, 33 34 ] interface AudioBuffer { -
trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.h
r263985 r265086 28 28 #include "AudioIOCallback.h" 29 29 #include "AudioNode.h" 30 #include "ExceptionOr.h" 30 31 #include <wtf/Function.h> 31 32 … … 54 55 virtual void enableInput(const String& inputDeviceId) = 0; 55 56 56 virtual voidstartRendering() = 0;57 virtual ExceptionOr<void> startRendering() = 0; 57 58 virtual void resume(WTF::Function<void ()>&&) { } 58 59 virtual void suspend(WTF::Function<void ()>&&) { } -
trunk/Source/WebCore/Modules/webaudio/BaseAudioContext.cpp
r265066 r265086 72 72 #include "WaveShaperNode.h" 73 73 #include <JavaScriptCore/ScriptCallStack.h> 74 #include <wtf/Scope.h> 74 75 75 76 #if DEBUG_AUDIONODE_REFERENCES … … 1079 1080 ASSERT(isOfflineContext()); 1080 1081 ASSERT(isMainThread()); 1082 auto finishedRenderingScope = WTF::makeScopeExit([this] { 1083 didFinishOfflineRendering(Exception { InvalidStateError }); 1084 }); 1085 1081 1086 if (!isMainThread()) 1082 1087 return; … … 1092 1097 return; 1093 1098 1094 AudioBuffer*renderedBuffer = m_renderTarget.get();1099 RefPtr<AudioBuffer> renderedBuffer = m_renderTarget.get(); 1095 1100 setState(State::Closed); 1096 1101 … … 1104 1109 1105 1110 clearPendingActivityIfExitEarly.release(); 1106 m_eventQueue->enqueueEvent(OfflineAudioCompletionEvent::create(renderedBuffer)); 1111 m_eventQueue->enqueueEvent(OfflineAudioCompletionEvent::create(renderedBuffer.get())); 1112 1113 finishedRenderingScope.release(); 1114 didFinishOfflineRendering(renderedBuffer.releaseNonNull()); 1107 1115 } 1108 1116 -
trunk/Source/WebCore/Modules/webaudio/BaseAudioContext.h
r265052 r265086 305 305 AudioDestinationNode* destinationNode() const { return m_destinationNode.get(); } 306 306 307 bool willBeginPlayback(); 308 307 309 void uninitialize(); 308 310 … … 314 316 void setState(State); 315 317 318 virtual void didFinishOfflineRendering(ExceptionOr<Ref<AudioBuffer>>&&) { } 319 316 320 private: 317 321 void constructCommon(); 318 322 319 bool willBeginPlayback();320 323 bool willPausePlayback(); 321 324 -
trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp
r264342 r265086 109 109 } 110 110 111 voidDefaultAudioDestinationNode::startRendering()111 ExceptionOr<void> DefaultAudioDestinationNode::startRendering() 112 112 { 113 113 ASSERT(isInitialized()); 114 if (isInitialized()) 115 m_destination->start(); 114 if (!isInitialized()) 115 return Exception { InvalidStateError }; 116 117 m_destination->start(); 118 return { }; 116 119 } 117 120 -
trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.h
r264342 r265086 50 50 51 51 void enableInput(const String& inputDeviceId) final; 52 voidstartRendering() final;52 ExceptionOr<void> startRendering() final; 53 53 void resume(Function<void ()>&&) final; 54 54 void suspend(Function<void ()>&&) final; -
trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.cpp
r264657 r265086 31 31 #include "AudioBuffer.h" 32 32 #include "Document.h" 33 #include "JSAudioBuffer.h" 33 34 #include <wtf/IsoMallocInlines.h> 34 35 … … 63 64 } 64 65 66 void OfflineAudioContext::startOfflineRendering(Ref<DeferredPromise>&& promise) 67 { 68 if (isStopped() || !willBeginPlayback()) { 69 promise->reject(Exception { InvalidStateError }); 70 return; 71 } 72 73 auto result = destination()->startRendering(); 74 if (result.hasException()) { 75 promise->reject(result.releaseException()); 76 return; 77 } 78 79 makePendingActivity(); 80 m_pendingOfflineRenderingPromise = WTFMove(promise); 81 setState(State::Running); 82 } 83 84 void OfflineAudioContext::didFinishOfflineRendering(ExceptionOr<Ref<AudioBuffer>>&& result) 85 { 86 if (!m_pendingOfflineRenderingPromise) 87 return; 88 89 auto promise = std::exchange(m_pendingOfflineRenderingPromise, nullptr); 90 if (result.hasException()) { 91 promise->reject(result.releaseException()); 92 return; 93 } 94 promise->resolve<IDLInterface<AudioBuffer>>(result.releaseReturnValue()); 95 } 65 96 66 97 } // namespace WebCore -
trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.h
r264657 r265086 26 26 27 27 #include "BaseAudioContext.h" 28 #include "JSDOMPromiseDeferred.h" 28 29 #include "OfflineAudioContextOptions.h" 29 30 … … 37 38 static ExceptionOr<Ref<OfflineAudioContext>> create(ScriptExecutionContext&, const OfflineAudioContextOptions&); 38 39 40 void startOfflineRendering(Ref<DeferredPromise>&&); 41 39 42 private: 40 43 OfflineAudioContext(Document&, AudioBuffer* renderTarget); 44 45 void didFinishOfflineRendering(ExceptionOr<Ref<AudioBuffer>>&&) final; 46 47 RefPtr<DeferredPromise> m_pendingOfflineRenderingPromise; 41 48 }; 42 49 -
trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl
r264657 r265086 31 31 [CallWith=ScriptExecutionContext, MayThrowException] constructor(unsigned long numberOfChannels, unsigned long length, float sampleRate); 32 32 33 voidstartRendering();33 [ImplementedAs=startOfflineRendering] Promise<AudioBuffer> startRendering(); 34 34 35 35 [ImplementedAs=resumeRendering] Promise<void> resume(); -
trunk/Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.cpp
r263410 r265086 76 76 } 77 77 78 voidOfflineAudioDestinationNode::startRendering()78 ExceptionOr<void> OfflineAudioDestinationNode::startRendering() 79 79 { 80 80 ALWAYS_LOG(LOGIDENTIFIER); … … 83 83 ASSERT(m_renderTarget.get()); 84 84 if (!m_renderTarget.get()) 85 return ;85 return Exception { InvalidStateError }; 86 86 87 87 if (m_startedRendering) 88 return ;88 return Exception { InvalidStateError, "Already started rendering"_s }; 89 89 90 90 m_startedRendering = true; … … 99 99 }); 100 100 }, ThreadType::Audio); 101 return { }; 101 102 } 102 103 -
trunk/Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.h
r263410 r265086 51 51 // AudioDestinationNode 52 52 void enableInput(const String&) override { } 53 voidstartRendering() override;53 ExceptionOr<void> startRendering() override; 54 54 55 55 float sampleRate() const override { return m_renderTarget->sampleRate(); }
Note: See TracChangeset
for help on using the changeset viewer.