| OLD | NEW |
| 1 <!doctype html> | 1 <!doctype html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../resources/js-test.js"></script> | 4 <script src="../resources/js-test.js"></script> |
| 5 <script src="resources/compatibility.js"></script> | 5 <script src="resources/compatibility.js"></script> |
| 6 <script src="resources/audio-testing.js"></script> | 6 <script src="resources/audio-testing.js"></script> |
| 7 <script src="resources/fft.js"></script> | 7 <script src="resources/fft.js"></script> |
| 8 <script src="resources/realtimeanalyser-testing.js"></script> | 8 <script src="resources/realtimeanalyser-testing.js"></script> |
| 9 <title>Test AnalyserNode Downmixing</title> | 9 <title>Test AnalyserNode Downmixing</title> |
| 10 </head> | 10 </head> |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 analyser.getFloatTimeDomainData(timeData); | 95 analyser.getFloatTimeDomainData(timeData); |
| 96 analyser.getFloatFrequencyData(freqData); | 96 analyser.getFloatFrequencyData(freqData); |
| 97 }).then(context.resume.bind(context)); | 97 }).then(context.resume.bind(context)); |
| 98 | 98 |
| 99 source.start(); | 99 source.start(); |
| 100 return context.startRendering().then(function (renderedBuffer) { | 100 return context.startRendering().then(function (renderedBuffer) { |
| 101 var success = true; | 101 var success = true; |
| 102 | 102 |
| 103 // Verify the time domain data is correct. | 103 // Verify the time domain data is correct. |
| 104 var prefix = "Analyser downmix " + options.message + " to mono" | 104 var prefix = "Analyser downmix " + options.message + " to mono" |
| 105 success = Should(prefix + " time data", timeData, { | 105 success = Should(prefix + " time data", timeData) |
| 106 verbose: true | |
| 107 }) | |
| 108 .beEqualToArray(renderedBuffer.getChannelData(0).subarray(0, analyse
r.fftSize)); | 106 .beEqualToArray(renderedBuffer.getChannelData(0).subarray(0, analyse
r.fftSize)); |
| 109 | 107 |
| 110 var expectedTimeData = renderedBuffer.getChannelData(0).subarray(0, an
alyser.fftSize); | 108 var expectedTimeData = renderedBuffer.getChannelData(0).subarray(0, an
alyser.fftSize); |
| 111 var fftOrder = Math.floor(Math.log2(analyser.fftSize)); | 109 var fftOrder = Math.floor(Math.log2(analyser.fftSize)); |
| 112 var expectedFreqData = computeFFTMagnitude(expectedTimeData, fftOrder)
.map(linearToDb); | 110 var expectedFreqData = computeFFTMagnitude(expectedTimeData, fftOrder)
.map(linearToDb); |
| 113 | 111 |
| 114 success = compareFloatFreq(prefix + " freq data", freqData, expectedFr
eqData, { | 112 success = compareFloatFreq(prefix + " freq data", freqData, expectedFr
eqData, { |
| 115 precision: 6, | 113 precision: 6, |
| 116 floatRelError: options.floatRelError, | 114 floatRelError: options.floatRelError, |
| 117 }) && success; | 115 }) && success; |
| 118 | 116 |
| 119 if (success) | 117 if (success) |
| 120 testPassed(prefix + " downmixed correctly.\n"); | 118 testPassed(prefix + " downmixed correctly.\n"); |
| 121 else | 119 else |
| 122 testFailed(prefix + " not downmixed correctly.\n"); | 120 testFailed(prefix + " not downmixed correctly.\n"); |
| 123 }); | 121 }); |
| 124 } | 122 } |
| 125 </script> | 123 </script> |
| 126 </body> | 124 </body> |
| 127 </html> | 125 </html> |
| OLD | NEW |