Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-09-03 03:22:28 UTC (rev 266501)
@@ -1,5 +1,21 @@
2020-09-02 Chris Dumez <cdu...@apple.com>
+ Choose adequate number of channels for ConvolverNode's output
+ https://bugs.webkit.org/show_bug.cgi?id=216099
+
+ Reviewed by Eric Carlson.
+
+ Rebaseline WPT tests now that more checks are passing.
+
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt:
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt:
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt:
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-upmixing-1-channel-response-expected.txt:
+ * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt:
+
+2020-09-02 Chris Dumez <cdu...@apple.com>
+
Fix rounding for DelayDSPKernel's buffer size calculation
https://bugs.webkit.org/show_bug.cgi?id=216091
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -3,7 +3,7 @@
PASS Executing "cascade-mono"
PASS Audit report
PASS > [cascade-mono] Cascaded mono convolvers
-FAIL X Output of cascaded mono convolvers should have contain at least one value different from 0. assert_true: expected true got false
-FAIL < [cascade-mono] 1 out of 1 assertions were failed. assert_true: expected true got false
-FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false
+PASS Output of cascaded mono convolvers is not constantly 0 (contains 1996 different values).
+PASS < [cascade-mono] All assertions passed. (total 1 assertions)
+PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully.
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -16,27 +16,9 @@
PASS new AudioBuffer({numberOfChannels: 1, length: 2, sampleRate: 8192}) did not throw an exception.
PASS < [initialize] All assertions passed. (total 1 assertions)
PASS > [1-channel input] produces 1-channel output
-FAIL X 1: Channel 1: Expected 0 for all values but found 1278 unexpected values:
- Index Actual
- [2] 0.0005517149693332613
- [3] 0.0011016002390533686
- [4] 0.0016478316392749548
- [5] 0.0021885987371206284
- ...and 1274 more errors. assert_true: expected true got false
-FAIL X Convolver output does not equal [0,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...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 5.5171496933326125e-4 5.7564035058021545e-2 5.7012320088688284e-2 9.9041563071843097e-1 4.7683715820312500e-7
- [3] 1.1016002390533686e-3 1.1493717133998871e-1 1.1383557110093534e-1 9.9041563119911147e-1 4.7683715820312500e-7
- [4] 1.6478316392749548e-3 1.7192906141281128e-1 1.7028122977353632e-1 9.9041563057615711e-1 4.7683715820312500e-7
- [5] 2.1885987371206284e-3 2.2835084795951843e-1 2.2616224922239780e-1 9.9041563122415632e-1 4.7683715820312500e-7
- [6] 2.7221068739891052e-3 2.8401523828506470e-1 2.8129313141107559e-1 9.9041563089915285e-1 4.7683715820312500e-7
- ...and 1273 more errors.
- Max AbsError of 9.9041563086211681e-1 at index of 301.
- [301] -9.5843691378831863e-3 -1.0000000000000000e+0 9.9041563086211681e-1 9.9041563086211681e-1 4.7683715820312500e-7
- Max RelError of 9.9041563141564226e-1 at index of 966.
- [966] -7.8987376764416695e-3 -8.2412707805633545e-1 8.1622834037989378e-1 9.9041563141564226e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL < [1-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 1: Channel 1 contains only the constant 0.
+PASS Convolver output equals [0,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...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS < [1-channel input] All assertions passed. (total 2 assertions)
PASS > [2-channel input] produces 2-channel output
FAIL X 2: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
@@ -194,80 +176,18 @@
assert_true: expected true got false
FAIL < [4-channel input, explicit] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [5.1-channel input, explicit] 5.1->2 explicit downmix producing 2-channel output
-FAIL X 5.1 chan downmix explicit: Channel 0 does not equal [0,0,2.302107334136963,2.0779101848602295,1.536412000656128,0.8359496593475342,-0.2123139351606369,-0.0052925655618309975,0.8362105488777161,1.0198440551757812,0.32619065046310425,-0.6783384680747986,-1.0576409101486206,-0.5491995811462402,0.2516634166240692,-0.10923532396554947...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 0.0000000000000000e+0 2.3021073341369629e+0 2.3021073341369629e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [3] 0.0000000000000000e+0 2.0779101848602295e+0 2.0779101848602295e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [4] 0.0000000000000000e+0 1.5364120006561279e+0 1.5364120006561279e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [5] 0.0000000000000000e+0 8.3594965934753418e-1 8.3594965934753418e-1 1.0000000000000000e+0 1.1511867343774294e-6
- [6] 0.0000000000000000e+0 -2.1231393516063690e-1 2.1231393516063690e-1 1.0000000000000000e+0 1.1511867343774294e-6
- ...and 1271 more errors.
- Max AbsError of 2.4404382705688477e+0 at index of 896.
- [896] 0.0000000000000000e+0 2.4404382705688477e+0 2.4404382705688477e+0 1.0000000000000000e+0 1.1511867343774294e-6
- Max RelError of 1.0000000000000000e+0 at index of 2.
- assert_true: expected true got false
-FAIL X 5.1 chan downmix explicit: Channel 1 does not equal [0,0,2.407027244567871,1.851643443107605,1.2457610368728638,0.5805020928382874,0.3625302314758301,0.1648862212896347,-0.7450207471847534,-1.5345407724380493,-1.904326319694519,-0.7297847867012024,0.01058983150869608,0.7125816941261292,1.75357985496521,0.26786839962005615...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 0.0000000000000000e+0 2.4070272445678711e+0 2.4070272445678711e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [3] 0.0000000000000000e+0 1.8516434431076050e+0 1.8516434431076050e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [4] 0.0000000000000000e+0 1.2457610368728638e+0 1.2457610368728638e+0 1.0000000000000000e+0 1.1511867343774294e-6
- [5] 0.0000000000000000e+0 5.8050209283828735e-1 5.8050209283828735e-1 1.0000000000000000e+0 1.1511867343774294e-6
- [6] 0.0000000000000000e+0 3.6253023147583008e-1 3.6253023147583008e-1 1.0000000000000000e+0 1.1511867343774294e-6
- ...and 1272 more errors.
- Max AbsError of 2.4601652622222900e+0 at index of 186.
- [186] 0.0000000000000000e+0 -2.4601652622222900e+0 2.4601652622222900e+0 1.0000000000000000e+0 1.1511867343774294e-6
- Max RelError of 1.0000000000000000e+0 at index of 2.
- assert_true: expected true got false
-FAIL < [5.1-channel input, explicit] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 5.1 chan downmix explicit: Channel 0 equals [0,0,2.302107334136963,2.0779101848602295,1.536412000656128,0.8359496593475342,-0.2123139351606369,-0.0052925655618309975,0.8362105488777161,1.0198440551757812,0.32619065046310425,-0.6783384680747986,-1.0576409101486206,-0.5491995811462402,0.2516634166240692,-0.10923532396554947...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
+PASS 5.1 chan downmix explicit: Channel 1 equals [0,0,2.407027244567871,1.851643443107605,1.2457610368728638,0.5805020928382874,0.3625302314758301,0.1648862212896347,-0.7450207471847534,-1.5345407724380493,-1.904326319694519,-0.7297847867012024,0.01058983150869608,0.7125816941261292,1.75357985496521,0.26786839962005615...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
+PASS < [5.1-channel input, explicit] All assertions passed. (total 2 assertions)
PASS > [mono-upmix-explicit] 1->2 upmix, count mode explicit
PASS new ConvolverNode({channelCountMode: 'explicit'}) did not throw an exception.
-FAIL X 1->2 explicit upmix: channel 0 does not equal [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":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [1] 0.0000000000000000e+0 5.7564035058021545e-2 5.7564035058021545e-2 1.0000000000000000e+0 4.7683715820312500e-7
- [2] 0.0000000000000000e+0 1.1493717133998871e-1 1.1493717133998871e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [3] 0.0000000000000000e+0 1.7192906141281128e-1 1.7192906141281128e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [4] 0.0000000000000000e+0 2.2835084795951843e-1 2.2835084795951843e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [5] 0.0000000000000000e+0 2.8401523828506470e-1 2.8401523828506470e-1 1.0000000000000000e+0 4.7683715820312500e-7
- ...and 1273 more errors.
- Max AbsError of 1.0000000000000000e+0 at index of 300.
- [300] 0.0000000000000000e+0 -1.0000000000000000e+0 1.0000000000000000e+0 1.0000000000000000e+0 4.7683715820312500e-7
- Max RelError of 1.0000000000000000e+0 at index of 1.
- assert_true: expected true got false
-FAIL X 1->2 explicit upmix: channel 1 does not equal [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":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [1] 0.0000000000000000e+0 5.7564035058021545e-2 5.7564035058021545e-2 1.0000000000000000e+0 4.7683715820312500e-7
- [2] 0.0000000000000000e+0 1.1493717133998871e-1 1.1493717133998871e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [3] 0.0000000000000000e+0 1.7192906141281128e-1 1.7192906141281128e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [4] 0.0000000000000000e+0 2.2835084795951843e-1 2.2835084795951843e-1 1.0000000000000000e+0 4.7683715820312500e-7
- [5] 0.0000000000000000e+0 2.8401523828506470e-1 2.8401523828506470e-1 1.0000000000000000e+0 4.7683715820312500e-7
- ...and 1273 more errors.
- Max AbsError of 1.0000000000000000e+0 at index of 300.
- [300] 0.0000000000000000e+0 -1.0000000000000000e+0 1.0000000000000000e+0 1.0000000000000000e+0 4.7683715820312500e-7
- Max RelError of 1.0000000000000000e+0 at index of 1.
- assert_true: expected true got false
-FAIL < [mono-upmix-explicit] 2 out of 3 assertions were failed. assert_true: expected true got false
+PASS 1->2 explicit upmix: channel 0 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":4.76837158203125e-7,"relativeThreshold":0}.
+PASS 1->2 explicit upmix: channel 1 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":4.76837158203125e-7,"relativeThreshold":0}.
+PASS < [mono-upmix-explicit] All assertions passed. (total 3 assertions)
PASS > [mono-upmix-clamped-max] 1->2 upmix, count mode clamped-max
PASS new ConvolverNode({channelCountMode: 'clamped-max'}) did not throw an exception.
-FAIL X 1->2 clamped-max upmix: channel 0 does not equal [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":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [1] 5.5171496933326125e-4 5.7564035058021545e-2 5.7012320088688284e-2 9.9041563071843097e-1 4.7683715820312500e-7
- [2] 1.1016002390533686e-3 1.1493717133998871e-1 1.1383557110093534e-1 9.9041563119911147e-1 4.7683715820312500e-7
- [3] 1.6478316392749548e-3 1.7192906141281128e-1 1.7028122977353632e-1 9.9041563057615711e-1 4.7683715820312500e-7
- [4] 2.1885987371206284e-3 2.2835084795951843e-1 2.2616224922239780e-1 9.9041563122415632e-1 4.7683715820312500e-7
- [5] 2.7221068739891052e-3 2.8401523828506470e-1 2.8129313141107559e-1 9.9041563089915285e-1 4.7683715820312500e-7
- ...and 1273 more errors.
- Max AbsError of 9.9041563086211681e-1 at index of 300.
- [300] -9.5843691378831863e-3 -1.0000000000000000e+0 9.9041563086211681e-1 9.9041563086211681e-1 4.7683715820312500e-7
- Max RelError of 9.9041563141564226e-1 at index of 965.
- [965] -7.8987376764416695e-3 -8.2412707805633545e-1 8.1622834037989378e-1 9.9041563141564226e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL X 1->2 clamped-max upmix: channel 1: Expected 0 for all values but found 1278 unexpected values:
- Index Actual
- [2] 0.0005517149693332613
- [3] 0.0011016002390533686
- [4] 0.0016478316392749548
- [5] 0.0021885987371206284
- ...and 1274 more errors. assert_true: expected true got false
-FAIL < [mono-upmix-clamped-max] 2 out of 3 assertions were failed. assert_true: expected true got false
-FAIL # AUDIT TASK RUNNER FINISHED: 10 out of 11 tasks were failed. assert_true: expected true got false
+PASS 1->2 clamped-max upmix: channel 0 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":4.76837158203125e-7,"relativeThreshold":0}.
+PASS 1->2 clamped-max upmix: channel 1 contains only the constant 0.
+PASS < [mono-upmix-clamped-max] All assertions passed. (total 3 assertions)
+FAIL # AUDIT TASK RUNNER FINISHED: 6 out of 11 tasks were failed. assert_true: expected true got false
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -15,256 +15,150 @@
PASS new AudioBuffer({numberOfChannels: 2, length: 4, sampleRate: 8192}) did not throw an exception.
PASS < [initialize] All assertions passed. (total 1 assertions)
PASS > [1-channel input] produces 2-channel output
-FAIL X 1: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [3] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [4] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [5] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [6] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
- ...and 1271 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 235.
- [235] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 196.
- [196] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL X 1: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [4] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [5] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [6] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [7] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
- ...and 1270 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 236.
- [236] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 197.
- [197] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL < [1-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 1: Channel 0 equals [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS 1: Channel 1 equals [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS < [1-channel input] All assertions passed. (total 2 assertions)
PASS > [2-channel input] produces 2-channel output
-FAIL X 2: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [3] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [4] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [5] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [6] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
- ...and 1271 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 235.
- [235] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 196.
- [196] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL X 2: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [4] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [5] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [6] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [7] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
- ...and 1270 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 236.
- [236] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 197.
- [197] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL < [2-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 2: Channel 0 equals [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS 2: Channel 1 equals [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS < [2-channel input] All assertions passed. (total 2 assertions)
PASS > [3-channel input] 3->2 downmix producing 2-channel output
FAIL X 3: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [3] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [4] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [5] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [6] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
+ [2] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.2335621118545532e-1 8.2335621118545532e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.6454612016677856e-1 8.6454612016677856e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 8.4542512893676758e-1 8.4542512893676758e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 235.
- [235] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 196.
- [196] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
+ Max AbsError of 9.9012923240661621e-1 at index of 235.
+ [235] 0.0000000000000000e+0 -9.9012923240661621e-1 9.9012923240661621e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 3: Channel 1 does not equal [0,0,0,0.9947001934051514,0.770577609539032,0.9109301567077637,0.7706682085990906,0.9842367172241211,0.3202291429042816,-0.9348859190940857,-0.8055058121681213,-0.8837443590164185,-0.8007677793502808,-0.9286618232727051,-0.6026888489723206,0.7909701466560364...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 1.3482510112226009e-2 9.9470019340515137e-1 9.8121768329292536e-1 9.8644565447798760e-1 4.7683715820312500e-7
- [4] 1.0444675572216511e-2 7.7057760953903198e-1 7.6013293396681547e-1 9.8644565395760120e-1 4.7683715820312500e-7
- [5] 1.2347062118351460e-2 9.1093015670776367e-1 8.9858309458941221e-1 9.8644565444734467e-1 4.7683715820312500e-7
- [6] 1.0445903055369854e-2 7.7066820859909058e-1 7.6022230554372072e-1 9.8644565464253642e-1 4.7683715820312500e-7
- [7] 1.3340684585273266e-2 9.8423671722412109e-1 9.7089603263884783e-1 9.8644565443270749e-1 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 9.9470019340515137e-1 9.9470019340515137e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 7.7057760953903198e-1 7.7057760953903198e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 9.1093015670776367e-1 9.1093015670776367e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 7.7066820859909058e-1 7.7066820859909058e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [7] 0.0000000000000000e+0 9.8423671722412109e-1 9.8423671722412109e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.8443668708205223e-1 at index of 274.
- [274] -1.3526741415262222e-2 -9.9796342849731445e-1 9.8443668708205223e-1 9.8644565419032426e-1 4.7683715820312500e-7
- Max RelError of 9.8644565485846292e-1 at index of 350.
- [350] 8.9482078328728676e-3 6.6017264127731323e-1 6.5122443344444036e-1 9.8644565485846292e-1 4.7683715820312500e-7
+ Max AbsError of 9.9796342849731445e-1 at index of 274.
+ [274] 0.0000000000000000e+0 -9.9796342849731445e-1 9.9796342849731445e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [3-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [4-channel input] 4->2 downmix producing 2-channel output
FAIL X 4: Channel 0 does not equal [0,0,0.9734256267547607,0.8085750341415405,0.8596615791320801,0.8377397060394287,0.18206259608268738,-0.06961163878440857,0.037733376026153564,-0.007562130689620972,-0.018085792660713196,0.029709041118621826,-0.02168998122215271,-0.005516946315765381,0.05647379159927368,-0.4439384341239929...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 1.3194147497415543e-2 9.7342562675476074e-1 9.6023147925734520e-1 9.8644565425978903e-1 4.7683715820312500e-7
- [3] 1.0959705337882042e-2 8.0857503414154053e-1 7.9761532880365849e-1 9.8644565454643562e-1 4.7683715820312500e-7
- [4] 1.1652150191366673e-2 8.5966157913208008e-1 8.4800942894071341e-1 9.8644565434326992e-1 4.7683715820312500e-7
- [5] 1.1355013586580753e-2 8.3773970603942871e-1 8.2638469245284796e-1 9.8644565429485997e-1 4.7683715820312500e-7
- [6] 2.4677393957972527e-3 1.8206259608268738e-1 1.7959485668689013e-1 9.8644565413822571e-1 4.7683715820312500e-7
+ [2] 0.0000000000000000e+0 9.7342562675476074e-1 9.7342562675476074e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 8.0857503414154053e-1 8.0857503414154053e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.5966157913208008e-1 8.5966157913208008e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.3773970603942871e-1 8.3773970603942871e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 1.8206259608268738e-1 1.8206259608268738e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.8887207824736834e-1 at index of 428.
- [428] -1.3587686233222485e-2 -1.0024597644805908e+0 9.8887207824736834e-1 9.8644565426497421e-1 4.7683715820312500e-7
- Max RelError of 9.8644565496724246e-1 at index of 193.
- [193] -9.9873158615082502e-4 -7.3683500289916992e-2 7.2684768703766167e-2 9.8644565496724246e-1 4.7683715820312500e-7
+ Max AbsError of 1.0024597644805908e+0 at index of 428.
+ [428] 0.0000000000000000e+0 -1.0024597644805908e+0 1.0024597644805908e+0 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 4: Channel 1 does not equal [0,0,0,0.971980094909668,0.8049001097679138,0.8850501775741577,0.18059252202510834,0.027723312377929688,-0.2852807641029358,-0.7788606882095337,-0.03758403658866882,-0.008258670568466187,0.07240843772888184,-0.33466455340385437,-0.7563190460205078,-0.020491331815719604...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 1.3174554333090782e-2 9.7198009490966797e-1 9.5880554057657719e-1 9.8644565418357133e-1 4.7683715820312500e-7
- [4] 1.0909894481301308e-2 8.0490010976791382e-1 7.9399021528661251e-1 9.8644565412663809e-1 4.7683715820312500e-7
- [5] 1.1996275745332241e-2 8.8505017757415771e-1 8.7305390182882547e-1 9.8644565466535139e-1 4.7683715820312500e-7
- [6] 2.4478135164827108e-3 1.8059252202510834e-1 1.7814470850862563e-1 9.8644565406677032e-1 4.7683715820312500e-7
- [7] 3.7577137118205428e-4 2.7723312377929688e-2 2.7347541006747633e-2 9.8644565389375327e-1 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 9.7198009490966797e-1 9.7198009490966797e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.0490010976791382e-1 8.0490010976791382e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.8505017757415771e-1 8.8505017757415771e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 1.8059252202510834e-1 1.8059252202510834e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [7] 0.0000000000000000e+0 2.7723312377929688e-2 2.7723312377929688e-2 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.6179059240967035e-1 at index of 485.
- [485] -1.3215570710599422e-2 -9.7500616312026978e-1 9.6179059240967035e-1 9.8644565418098873e-1 4.7683715820312500e-7
- Max RelError of 9.8644565494492031e-1 at index of 125.
- [125] -7.9908343032002449e-3 -5.8954042196273804e-1 5.8154958765953779e-1 9.8644565494492031e-1 4.7683715820312500e-7
+ Max AbsError of 9.7500616312026978e-1 at index of 485.
+ [485] 0.0000000000000000e+0 -9.7500616312026978e-1 9.7500616312026978e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [4-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [5.1-channel input] 5.1->2 downmix producing 2-channel output
FAIL X 5.1: Channel 0 does not equal [0,0,2.302107334136963,2.0779101848602295,1.536412000656128,0.8359496593475342,-0.2123139351606369,-0.0052925655618309975,0.8362105488777161,1.0198440551757812,0.32619065046310425,-0.6783384680747986,-1.0576409101486206,-0.5491995811462402,0.2516634166240692,-0.10923532396554947...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 3.1203558668494225e-2 2.3021073341369629e+0 2.2709037754684687e+0 9.8644565428996722e-1 1.1511867343774294e-6
- [3] 2.8164712712168694e-2 2.0779101848602295e+0 2.0497454721480608e+0 9.8644565442848375e-1 1.1511867343774294e-6
- [4] 2.0825060084462166e-2 1.5364120006561279e+0 1.5155869405716658e+0 9.8644565385094052e-1 1.1511867343774294e-6
- [5] 1.1330750770866871e-2 8.3594965934753418e-1 8.2461890857666731e-1 9.8644565418004881e-1 1.1511867343774294e-6
- [6] -2.8777765110135078e-3 -2.1231393516063690e-1 2.0943615864962339e-1 9.8644565412611196e-1 1.1511867343774294e-6
+ [2] 0.0000000000000000e+0 2.3021073341369629e+0 2.3021073341369629e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [3] 0.0000000000000000e+0 2.0779101848602295e+0 2.0779101848602295e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [4] 0.0000000000000000e+0 1.5364120006561279e+0 1.5364120006561279e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [5] 0.0000000000000000e+0 8.3594965934753418e-1 8.3594965934753418e-1 1.0000000000000000e+0 1.1511867343774294e-6
+ [6] 0.0000000000000000e+0 -2.1231393516063690e-1 2.1231393516063690e-1 1.0000000000000000e+0 1.1511867343774294e-6
...and 1271 more errors.
- Max AbsError of 2.4073597267270088e+0 at index of 896.
- [896] 3.3078543841838837e-2 2.4404382705688477e+0 2.4073597267270088e+0 9.8644565435612164e-1 1.1511867343774294e-6
- Max RelError of 9.8644565493963665e-1 at index of 565.
- [565] -4.0895724669098854e-3 -3.0171671509742737e-1 2.9762714263051748e-1 9.8644565493963665e-1 1.1511867343774294e-6
+ Max AbsError of 2.4404382705688477e+0 at index of 896.
+ [896] 0.0000000000000000e+0 2.4404382705688477e+0 2.4404382705688477e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 5.1: Channel 1 does not equal [0,0,0,2.407027244567871,1.851643443107605,1.2457610368728638,0.5805020928382874,0.3625302314758301,0.1648862212896347,-0.7450207471847534,-1.5345407724380493,-1.904326319694519,-0.7297847867012024,0.01058983150869608,0.7125816941261292,1.75357985496521...] with an element-wise tolerance of {"absoluteThreshold":0.0000011511867343774294,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 3.2625678926706314e-2 2.4070272445678711e+0 2.3744015656411648e+0 9.8644565448923138e-1 1.1511867343774294e-6
- [4] 2.5097815319895744e-2 1.8516434431076050e+0 1.8265456277877092e+0 9.8644565431140774e-1 1.1511867343774294e-6
- [5] 1.6885476186871529e-2 1.2457610368728638e+0 1.2288755606859922e+0 9.8644565395201489e-1 1.1511867343774294e-6
- [6] 7.8683262690901756e-3 5.8050209283828735e-1 5.7263376656919718e-1 9.8644565391552841e-1 1.1511867343774294e-6
- [7] 4.9138600006699562e-3 3.6253023147583008e-1 3.5761637147516012e-1 9.8644565453020006e-1 1.1511867343774294e-6
+ [3] 0.0000000000000000e+0 2.4070272445678711e+0 2.4070272445678711e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [4] 0.0000000000000000e+0 1.8516434431076050e+0 1.8516434431076050e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [5] 0.0000000000000000e+0 1.2457610368728638e+0 1.2457610368728638e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ [6] 0.0000000000000000e+0 5.8050209283828735e-1 5.8050209283828735e-1 1.0000000000000000e+0 1.1511867343774294e-6
+ [7] 0.0000000000000000e+0 3.6253023147583008e-1 3.6253023147583008e-1 1.0000000000000000e+0 1.1511867343774294e-6
...and 1271 more errors.
- Max AbsError of 2.4268193319439888e+0 at index of 187.
- [187] -3.3345930278301239e-2 -2.4601652622222900e+0 2.4268193319439888e+0 9.8644565436706488e-1 1.1511867343774294e-6
- Max RelError of 9.8644565494113301e-1 at index of 629.
- [629] -2.0575642120093107e-3 -1.5180107951164246e-1 1.4974351529963315e-1 9.8644565494113301e-1 1.1511867343774294e-6
+ Max AbsError of 2.4601652622222900e+0 at index of 187.
+ [187] 0.0000000000000000e+0 -2.4601652622222900e+0 2.4601652622222900e+0 1.0000000000000000e+0 1.1511867343774294e-6
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [5.1-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [2-channel input, explicit mode] produces 2-channel output
FAIL X 2-in explicit mode: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [3] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [4] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [5] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [6] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
+ [2] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.2335621118545532e-1 8.2335621118545532e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.6454612016677856e-1 8.6454612016677856e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 8.4542512893676758e-1 8.4542512893676758e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 235.
- [235] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 196.
- [196] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
+ Max AbsError of 9.9012923240661621e-1 at index of 235.
+ [235] 0.0000000000000000e+0 -9.9012923240661621e-1 9.9012923240661621e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 2-in explicit mode: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [4] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [5] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [6] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [7] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.2335621118545532e-1 8.2335621118545532e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 8.6454612016677856e-1 8.6454612016677856e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [7] 0.0000000000000000e+0 8.4542512893676758e-1 8.4542512893676758e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1270 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 236.
- [236] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 197.
- [197] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
+ Max AbsError of 9.9012923240661621e-1 at index of 236.
+ [236] 0.0000000000000000e+0 -9.9012923240661621e-1 9.9012923240661621e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [2-channel input, explicit mode] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [3-channel input explicit mode] 3->1 downmix producing 2-channel output
FAIL X 3-in explicit: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248,-0.8348914980888367...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [3] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [4] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [5] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [6] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
+ [2] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.2335621118545532e-1 8.2335621118545532e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.6454612016677856e-1 8.6454612016677856e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 8.4542512893676758e-1 8.4542512893676758e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1271 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 235.
- [235] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 196.
- [196] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
+ Max AbsError of 9.9012923240661621e-1 at index of 235.
+ [235] 0.0000000000000000e+0 -9.9012923240661621e-1 9.9012923240661621e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 3-in explicit: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,0.8233562111854553,0.8645461201667786,0.8454251289367676,0.858031690120697,0.7955960035324097,0.9893835186958313,0.39837583899497986,-0.7808233499526978,-0.9249736070632935,-0.7918891906738281,-0.875220775604248...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 1.2856653891503811e-2 9.4852632284164429e-1 9.3566966895014048e-1 9.8644565408265406e-1 4.7683715820312500e-7
- [4] 1.1483675800263882e-2 8.4723204374313354e-1 8.3574836794286966e-1 9.8644565454638833e-1 4.7683715820312500e-7
- [5] 1.1160055175423622e-2 8.2335621118545532e-1 8.1219615601003170e-1 9.8644565374765858e-1 4.7683715820312500e-7
- [6] 1.1718356981873512e-2 8.6454612016677856e-1 8.5282776318490505e-1 9.8644565430515962e-1 4.7683715820312500e-7
- [7] 1.1459184810519218e-2 8.4542512893676758e-1 8.3396594412624836e-1 9.8644565388666572e-1 4.7683715820312500e-7
+ [3] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [4] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [5] 0.0000000000000000e+0 8.2335621118545532e-1 8.2335621118545532e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [6] 0.0000000000000000e+0 8.6454612016677856e-1 8.6454612016677856e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ [7] 0.0000000000000000e+0 8.4542512893676758e-1 8.4542512893676758e-1 1.0000000000000000e+0 4.7683715820312500e-7
...and 1270 more errors.
- Max AbsError of 9.7670867852866650e-1 at index of 236.
- [236] -1.3420553877949715e-2 -9.9012923240661621e-1 9.7670867852866650e-1 9.8644565432602205e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493170255e-1 at index of 197.
- [197] 8.1549119204282761e-3 6.0164558887481689e-1 5.9349067695438862e-1 9.8644565493170255e-1 4.7683715820312500e-7
+ Max AbsError of 9.9012923240661621e-1 at index of 236.
+ [236] 0.0000000000000000e+0 -9.9012923240661621e-1 9.9012923240661621e-1 1.0000000000000000e+0 4.7683715820312500e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [3-channel input explicit mode] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [4-channel input explicit mode] 4->1 downmix producing 2-channel output
-FAIL X 4-in explicit: Channel 0 does not equal [0,0,0.9727029204368591,0.8067376017570496,0.8723558783531189,0.5091661214828491,0.10489296913146973,-0.17744621634483337,-0.37056368589401245,-0.022573083639144897,-0.013172224164009094,0.05105873942375183,-0.17817726731300354,-0.3809179663658142,0.01799122989177704,-0.23770247399806976...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 1.3184351846575737e-2 9.7270292043685913e-1 9.5951856859028339e-1 9.8644565409482432e-1 4.7683715820312500e-7
- [3] 1.0934800840914249e-2 8.0673760175704956e-1 7.9580280091613531e-1 9.8644565368330595e-1 4.7683715820312500e-7
- [4] 1.1824212968349457e-2 8.7235587835311890e-1 8.6053166538476944e-1 9.8644565450665400e-1 4.7683715820312500e-7
- [5] 6.9014136679470539e-3 5.0916612148284912e-1 5.0226470781490207e-1 9.8644565422411057e-1 4.7683715820312500e-7
- [6] 1.4217555290088058e-3 1.0489296913146973e-1 1.0347121360246092e-1 9.8644565464414669e-1 4.7683715820312500e-7
- ...and 1272 more errors.
- Max AbsError of 9.7197636403143406e-1 at index of 968.
- [968] -1.3355528935790062e-2 -9.8533189296722412e-1 9.7197636403143406e-1 9.8644565447326460e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493995662e-1 at index of 1150.
- [1150] -5.1431218162178993e-4 -3.7944450974464417e-2 3.7430138792842627e-2 9.8644565493995662e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL X 4-in explicit: Channel 1 does not equal [0,0,0,0.9727029204368591,0.8067376017570496,0.8723558783531189,0.5091661214828491,0.10489296913146973,-0.17744621634483337,-0.37056368589401245,-0.022573083639144897,-0.013172224164009094,0.05105873942375183,-0.17817726731300354,-0.3809179663658142,0.01799122989177704...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 1.3184351846575737e-2 9.7270292043685913e-1 9.5951856859028339e-1 9.8644565409482432e-1 4.7683715820312500e-7
- [4] 1.0934800840914249e-2 8.0673760175704956e-1 7.9580280091613531e-1 9.8644565368330595e-1 4.7683715820312500e-7
- [5] 1.1824212968349457e-2 8.7235587835311890e-1 8.6053166538476944e-1 9.8644565450665400e-1 4.7683715820312500e-7
- [6] 6.9014136679470539e-3 5.0916612148284912e-1 5.0226470781490207e-1 9.8644565422411057e-1 4.7683715820312500e-7
- [7] 1.4217555290088058e-3 1.0489296913146973e-1 1.0347121360246092e-1 9.8644565464414669e-1 4.7683715820312500e-7
- ...and 1271 more errors.
- Max AbsError of 9.7197636403143406e-1 at index of 969.
- [969] -1.3355528935790062e-2 -9.8533189296722412e-1 9.7197636403143406e-1 9.8644565447326460e-1 4.7683715820312500e-7
- Max RelError of 9.8644565493995662e-1 at index of 1151.
- [1151] -5.1431218162178993e-4 -3.7944450974464417e-2 3.7430138792842627e-2 9.8644565493995662e-1 4.7683715820312500e-7
- assert_true: expected true got false
-FAIL < [4-channel input explicit mode] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 4-in explicit: Channel 0 equals [0,0,0.9727029204368591,0.8067376017570496,0.8723558783531189,0.5091661214828491,0.10489296913146973,-0.17744621634483337,-0.37056368589401245,-0.022573083639144897,-0.013172224164009094,0.05105873942375183,-0.17817726731300354,-0.3809179663658142,0.01799122989177704,-0.23770247399806976...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS 4-in explicit: Channel 1 equals [0,0,0,0.9727029204368591,0.8067376017570496,0.8723558783531189,0.5091661214828491,0.10489296913146973,-0.17744621634483337,-0.37056368589401245,-0.022573083639144897,-0.013172224164009094,0.05105873942375183,-0.17817726731300354,-0.3809179663658142,0.01799122989177704...] with an element-wise tolerance of {"absoluteThreshold":4.76837158203125e-7,"relativeThreshold":0}.
+PASS < [4-channel input explicit mode] All assertions passed. (total 2 assertions)
PASS > [5.1-channel input explicit mode] 5.1->1 downmix producing 2-channel output
-FAIL X 5.1-in explicit: Channel 0 does not equal [0,0,3.3298611640930176,2.778614044189453,1.967293381690979,1.0015825033187866,0.10621887445449829,0.11284977197647095,0.06448096036911011,-0.36394545435905457,-1.115910291671753,-0.9956934452056885,-0.740376889705658,0.1155286431312561,1.4179210662841797,0.11217048764228821...] with an element-wise tolerance of {"absoluteThreshold":0.0000016280238925805544,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 4.5134089887142181e-2 3.3298611640930176e+0 3.2847270742058754e+0 9.8644565413902607e-1 1.6280238925805544e-6
- [3] 3.7662297487258911e-2 2.7786140441894531e+0 2.7409517467021942e+0 9.8644565352067626e-1 1.6280238925805544e-6
- [4] 2.6665374636650085e-2 1.9672933816909790e+0 1.9406280070543289e+0 9.8644565427565767e-1 1.6280238925805544e-6
- [5] 1.3575796037912369e-2 1.0015825033187866e+0 9.8800670728087425e-1 9.8644565375999638e-1 1.6280238925805544e-6
- [6] 1.4397273771464825e-3 1.0621887445449829e-1 1.0477914707735181e-1 9.8644565399002393e-1 1.6280238925805544e-6
- ...and 1272 more errors.
- Max AbsError of 3.4086129888892174e+0 at index of 37.
- [37] -4.6836353838443756e-2 -3.4554493427276611e+0 3.4086129888892174e+0 9.8644565461883693e-1 1.6280238925805544e-6
- Max RelError of 9.8644565497778591e-1 at index of 327.
- [327] 1.5722304582595825e-2 1.1599457263946533e+0 1.1442234218120575e+0 9.8644565497778591e-1 1.6280238925805544e-6
- assert_true: expected true got false
-FAIL X 5.1-in explicit: Channel 1 does not equal [0,0,0,3.3298611640930176,2.778614044189453,1.967293381690979,1.0015825033187866,0.10621887445449829,0.11284977197647095,0.06448096036911011,-0.36394545435905457,-1.115910291671753,-0.9956934452056885,-0.740376889705658,0.1155286431312561,1.4179210662841797...] with an element-wise tolerance of {"absoluteThreshold":0.0000016280238925805544,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 4.5134089887142181e-2 3.3298611640930176e+0 3.2847270742058754e+0 9.8644565413902607e-1 1.6280238925805544e-6
- [4] 3.7662297487258911e-2 2.7786140441894531e+0 2.7409517467021942e+0 9.8644565352067626e-1 1.6280238925805544e-6
- [5] 2.6665374636650085e-2 1.9672933816909790e+0 1.9406280070543289e+0 9.8644565427565767e-1 1.6280238925805544e-6
- [6] 1.3575796037912369e-2 1.0015825033187866e+0 9.8800670728087425e-1 9.8644565375999638e-1 1.6280238925805544e-6
- [7] 1.4397273771464825e-3 1.0621887445449829e-1 1.0477914707735181e-1 9.8644565399002393e-1 1.6280238925805544e-6
- ...and 1271 more errors.
- Max AbsError of 3.4086129888892174e+0 at index of 38.
- [38] -4.6836353838443756e-2 -3.4554493427276611e+0 3.4086129888892174e+0 9.8644565461883693e-1 1.6280238925805544e-6
- Max RelError of 9.8644565497778591e-1 at index of 328.
- [328] 1.5722304582595825e-2 1.1599457263946533e+0 1.1442234218120575e+0 9.8644565497778591e-1 1.6280238925805544e-6
- assert_true: expected true got false
-FAIL < [5.1-channel input explicit mode] 2 out of 2 assertions were failed. assert_true: expected true got false
-FAIL # AUDIT TASK RUNNER FINISHED: 9 out of 10 tasks were failed. assert_true: expected true got false
+PASS 5.1-in explicit: Channel 0 equals [0,0,3.3298611640930176,2.778614044189453,1.967293381690979,1.0015825033187866,0.10621887445449829,0.11284977197647095,0.06448096036911011,-0.36394545435905457,-1.115910291671753,-0.9956934452056885,-0.740376889705658,0.1155286431312561,1.4179210662841797,0.11217048764228821...] with an element-wise tolerance of {"absoluteThreshold":0.0000016280238925805544,"relativeThreshold":0}.
+PASS 5.1-in explicit: Channel 1 equals [0,0,0,3.3298611640930176,2.778614044189453,1.967293381690979,1.0015825033187866,0.10621887445449829,0.11284977197647095,0.06448096036911011,-0.36394545435905457,-1.115910291671753,-0.9956934452056885,-0.740376889705658,0.1155286431312561,1.4179210662841797...] with an element-wise tolerance of {"absoluteThreshold":0.0000016280238925805544,"relativeThreshold":0}.
+PASS < [5.1-channel input explicit mode] All assertions passed. (total 2 assertions)
+FAIL # AUDIT TASK RUNNER FINISHED: 5 out of 10 tasks were failed. assert_true: expected true got false
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -17,157 +17,127 @@
PASS > [1-channel input] produces 2-channel output
FAIL X 1: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,1.7718825340270996,1.711778163909912,1.6687812805175781,1.7225778102874756,1.6410211324691772,1.8474152088165283,1.193971872329712,0.20856016874313354,-0.5265977382659912,-1.5727125406265259,-1.8001943826675415,-1.6267807483673096...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [3] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [4] 1.6982376575469971e-2 1.7718825340270996e+0 1.7549001574516296e+0 9.9041563069258731e-1 7.1525573730468750e-7
- [5] 1.6406312584877014e-2 1.7117781639099121e+0 1.6953718513250351e+0 9.9041563157494483e-1 7.1525573730468750e-7
- [6] 1.5994217246770859e-2 1.6687812805175781e+0 1.6527870632708073e+0 9.9041562999687405e-1 7.1525573730468750e-7
+ [2] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 1.7718825340270996e+0 1.7718825340270996e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.7117781639099121e+0 1.7117781639099121e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.6687812805175781e+0 1.6687812805175781e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1271 more errors.
- Max AbsError of 1.8309436403214931e+0 at index of 144.
- [144] -1.7718259245157242e-2 -1.8486618995666504e+0 1.8309436403214931e+0 9.9041563021918144e-1 7.1525573730468750e-7
- Max RelError of 9.9041564970368201e-1 at index of 244.
- [244] -2.2633560001850128e-4 -2.3615121841430664e-2 2.3388786241412163e-2 9.9041564970368201e-1 7.1525573730468750e-7
+ Max AbsError of 1.8486618995666504e+0 at index of 144.
+ [144] 0.0000000000000000e+0 -1.8486618995666504e+0 1.8486618995666504e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 1: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,1.7718825340270996,1.711778163909912,1.6687812805175781,1.7225778102874756,1.6410211324691772,1.8474152088165283,1.193971872329712,0.20856016874313354,-0.5265977382659912,-1.5727125406265259,-1.8001943826675415...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [4] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [5] 1.6982376575469971e-2 1.7718825340270996e+0 1.7549001574516296e+0 9.9041563069258731e-1 7.1525573730468750e-7
- [6] 1.6406312584877014e-2 1.7117781639099121e+0 1.6953718513250351e+0 9.9041563157494483e-1 7.1525573730468750e-7
- [7] 1.5994217246770859e-2 1.6687812805175781e+0 1.6527870632708073e+0 9.9041562999687405e-1 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.7718825340270996e+0 1.7718825340270996e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.7117781639099121e+0 1.7117781639099121e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [7] 0.0000000000000000e+0 1.6687812805175781e+0 1.6687812805175781e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1270 more errors.
- Max AbsError of 1.8309436403214931e+0 at index of 145.
- [145] -1.7718259245157242e-2 -1.8486618995666504e+0 1.8309436403214931e+0 9.9041563021918144e-1 7.1525573730468750e-7
- Max RelError of 9.9041564970368201e-1 at index of 245.
- [245] -2.2633560001850128e-4 -2.3615121841430664e-2 2.3388786241412163e-2 9.9041564970368201e-1 7.1525573730468750e-7
+ Max AbsError of 1.8486618995666504e+0 at index of 145.
+ [145] 0.0000000000000000e+0 -1.8486618995666504e+0 1.8486618995666504e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [1-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [2-channel input] produces 2-channel output
-FAIL X 2: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531,-1.4375803470611572...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [3] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [4] 1.7424922436475754e-2 1.8180563449859619e+0 1.8006314225494862e+0 9.9041563124018017e-1 7.1525573730468750e-7
- [5] 1.5671629458665848e-2 1.6351237297058105e+0 1.6194521002471447e+0 9.9041563083334039e-1 7.1525573730468750e-7
- [6] 1.6833558678627014e-2 1.7563552856445313e+0 1.7395217269659042e+0 9.9041563013120681e-1 7.1525573730468750e-7
- ...and 1273 more errors.
- Max AbsError of 1.9325089044868946e+0 at index of 542.
- [542] 1.8701117485761642e-2 1.9512100219726563e+0 1.9325089044868946e+0 9.9041563067267613e-1 7.1525573730468750e-7
- Max RelError of 9.9041640428211586e-1 at index of 689.
- [689] 9.0710818767547607e-6 9.4652175903320313e-4 9.3745067715644836e-4 9.9041640428211586e-1 7.1525573730468750e-7
- assert_true: expected true got false
-FAIL X 2: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [4] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [5] 1.7424922436475754e-2 1.8180563449859619e+0 1.8006314225494862e+0 9.9041563124018017e-1 7.1525573730468750e-7
- [6] 1.5671629458665848e-2 1.6351237297058105e+0 1.6194521002471447e+0 9.9041563083334039e-1 7.1525573730468750e-7
- [7] 1.6833558678627014e-2 1.7563552856445313e+0 1.7395217269659042e+0 9.9041563013120681e-1 7.1525573730468750e-7
- ...and 1272 more errors.
- Max AbsError of 1.9325089044868946e+0 at index of 543.
- [543] 1.8701117485761642e-2 1.9512100219726563e+0 1.9325089044868946e+0 9.9041563067267613e-1 7.1525573730468750e-7
- Max RelError of 9.9041640428211586e-1 at index of 690.
- [690] 9.0710818767547607e-6 9.4652175903320313e-4 9.3745067715644836e-4 9.9041640428211586e-1 7.1525573730468750e-7
- assert_true: expected true got false
-FAIL < [2-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 2: Channel 0 equals [0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531,-1.4375803470611572...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
+PASS 2: Channel 1 equals [0,0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
+PASS < [2-channel input] All assertions passed. (total 2 assertions)
PASS > [3-channel input] 3->2 downmix producing 2-channel output
FAIL X 3: Channel 0 does not equal [0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531,-1.4375803470611572...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [3] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [4] 1.7424922436475754e-2 1.8180563449859619e+0 1.8006314225494862e+0 9.9041563124018017e-1 7.1525573730468750e-7
- [5] 1.5671629458665848e-2 1.6351237297058105e+0 1.6194521002471447e+0 9.9041563083334039e-1 7.1525573730468750e-7
- [6] 1.6833558678627014e-2 1.7563552856445313e+0 1.7395217269659042e+0 9.9041563013120681e-1 7.1525573730468750e-7
+ [2] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 1.8180563449859619e+0 1.8180563449859619e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.6351237297058105e+0 1.6351237297058105e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.7563552856445313e+0 1.7563552856445313e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1273 more errors.
- Max AbsError of 1.9325089044868946e+0 at index of 542.
- [542] 1.8701117485761642e-2 1.9512100219726563e+0 1.9325089044868946e+0 9.9041563067267613e-1 7.1525573730468750e-7
- Max RelError of 9.9041640428211586e-1 at index of 689.
- [689] 9.0710818767547607e-6 9.4652175903320313e-4 9.3745067715644836e-4 9.9041640428211586e-1 7.1525573730468750e-7
+ Max AbsError of 1.9512100219726563e+0 at index of 542.
+ [542] 0.0000000000000000e+0 1.9512100219726563e+0 1.9512100219726563e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 3: Channel 1 does not equal [0,0,0,0.9485263228416443,0.8472320437431335,1.818056344985962,1.6351237297058105,1.7563552856445312,1.6286998987197876,1.7798327207565308,1.3096126317977905,-0.5365101099014282,-1.5863292217254639,-1.808717966079712,-1.5926569700241089,-1.8038825988769531...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 9.0910261496901512e-3 9.4852632284164429e-1 9.3943529669195414e-1 9.9041563114194364e-1 7.1525573730468750e-7
- [4] 8.1201847642660141e-3 8.4723204374313354e-1 8.3911185897886753e-1 9.9041563073040717e-1 7.1525573730468750e-7
- [5] 1.7424922436475754e-2 1.8180563449859619e+0 1.8006314225494862e+0 9.9041563124018017e-1 7.1525573730468750e-7
- [6] 1.5671629458665848e-2 1.6351237297058105e+0 1.6194521002471447e+0 9.9041563083334039e-1 7.1525573730468750e-7
- [7] 1.6833558678627014e-2 1.7563552856445313e+0 1.7395217269659042e+0 9.9041563013120681e-1 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 9.4852632284164429e-1 9.4852632284164429e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 8.4723204374313354e-1 8.4723204374313354e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.8180563449859619e+0 1.8180563449859619e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.6351237297058105e+0 1.6351237297058105e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [7] 0.0000000000000000e+0 1.7563552856445313e+0 1.7563552856445313e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1272 more errors.
- Max AbsError of 1.9325089044868946e+0 at index of 543.
- [543] 1.8701117485761642e-2 1.9512100219726563e+0 1.9325089044868946e+0 9.9041563067267613e-1 7.1525573730468750e-7
- Max RelError of 9.9041640428211586e-1 at index of 690.
- [690] 9.0710818767547607e-6 9.4652175903320313e-4 9.3745067715644836e-4 9.9041640428211586e-1 7.1525573730468750e-7
+ Max AbsError of 1.9512100219726563e+0 at index of 543.
+ [543] 0.0000000000000000e+0 1.9512100219726563e+0 1.9512100219726563e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [3-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [4-channel input] 4->2 downmix producing 2-channel output
FAIL X 4: Channel 0 does not equal [0,0,0.9734256267547607,0.8085750341415405,1.831641674041748,1.6426398754119873,1.0671128034591675,0.11098088324069977,0.06545668840408325,-0.29284289479255676,-0.7969464659690857,-0.007874995470046997,-0.029948651790618896,0.06689149141311646,-0.2781907618045807,-1.2002575397491455...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [2] 9.3296701088547707e-3 9.7342562675476074e-1 9.6409595664590597e-1 9.9041563129999122e-1 7.1525573730468750e-7
- [3] 7.7496818266808987e-3 8.0857503414154053e-1 8.0082535231485963e-1 9.9041563058534365e-1 7.1525573730468750e-7
- [4] 1.7555128782987595e-2 1.8316416740417480e+0 1.8140865452587605e+0 9.9041563148961886e-1 7.1525573730468750e-7
- [5] 1.5743665397167206e-2 1.6426398754119873e+0 1.6268962100148201e+0 9.9041563179317160e-1 7.1525573730468750e-7
- [6] 1.0227602906525135e-2 1.0671128034591675e+0 1.0568852005526423e+0 9.9041563096856189e-1 7.1525573730468750e-7
+ [2] 0.0000000000000000e+0 9.7342562675476074e-1 9.7342562675476074e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 8.0857503414154053e-1 8.0857503414154053e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 1.8316416740417480e+0 1.8316416740417480e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.6426398754119873e+0 1.6426398754119873e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.0671128034591675e+0 1.0671128034591675e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1273 more errors.
- Max AbsError of 1.9324576631188393e+0 at index of 1175.
- [1175] 1.8700622022151947e-2 1.9511582851409912e+0 1.9324576631188393e+0 9.9041563046700709e-1 7.1525573730468750e-7
- Max RelError of 9.9041567469489644e-1 at index of 664.
- [664] 3.4756085369735956e-6 3.6263465881347656e-4 3.5915905027650297e-4 9.9041567469489644e-1 7.1525573730468750e-7
+ Max AbsError of 1.9511582851409912e+0 at index of 1175.
+ [1175] 0.0000000000000000e+0 1.9511582851409912e+0 1.9511582851409912e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 2.
assert_true: expected true got false
FAIL X 4: Channel 1 does not equal [0,0,0,0.9734256267547607,0.8085750341415405,1.831641674041748,1.6426398754119873,1.0671128034591675,0.11098088324069977,0.06545668840408325,-0.29284289479255676,-0.7969464659690857,-0.007874995470046997,-0.029948651790618896,0.06689149141311646,-0.2781907618045807...] with an element-wise tolerance of {"absoluteThreshold":7.152557373046875e-7,"relativeThreshold":0}.
Index Actual Expected AbsError RelError Test threshold
- [3] 9.3296701088547707e-3 9.7342562675476074e-1 9.6409595664590597e-1 9.9041563129999122e-1 7.1525573730468750e-7
- [4] 7.7496818266808987e-3 8.0857503414154053e-1 8.0082535231485963e-1 9.9041563058534365e-1 7.1525573730468750e-7
- [5] 1.7555128782987595e-2 1.8316416740417480e+0 1.8140865452587605e+0 9.9041563148961886e-1 7.1525573730468750e-7
- [6] 1.5743665397167206e-2 1.6426398754119873e+0 1.6268962100148201e+0 9.9041563179317160e-1 7.1525573730468750e-7
- [7] 1.0227602906525135e-2 1.0671128034591675e+0 1.0568852005526423e+0 9.9041563096856189e-1 7.1525573730468750e-7
+ [3] 0.0000000000000000e+0 9.7342562675476074e-1 9.7342562675476074e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [4] 0.0000000000000000e+0 8.0857503414154053e-1 8.0857503414154053e-1 1.0000000000000000e+0 7.1525573730468750e-7
+ [5] 0.0000000000000000e+0 1.8316416740417480e+0 1.8316416740417480e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [6] 0.0000000000000000e+0 1.6426398754119873e+0 1.6426398754119873e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ [7] 0.0000000000000000e+0 1.0671128034591675e+0 1.0671128034591675e+0 1.0000000000000000e+0 7.1525573730468750e-7
...and 1272 more errors.
- Max AbsError of 1.9324576631188393e+0 at index of 1176.
- [1176] 1.8700622022151947e-2 1.9511582851409912e+0 1.9324576631188393e+0 9.9041563046700709e-1 7.1525573730468750e-7
- Max RelError of 9.9041567469489644e-1 at index of 665.
- [665] 3.4756085369735956e-6 3.6263465881347656e-4 3.5915905027650297e-4 9.9041567469489644e-1 7.1525573730468750e-7
+ Max AbsError of 1.9511582851409912e+0 at index of 1176.
+ [1176] 0.0000000000000000e+0 1.9511582851409912e+0 1.9511582851409912e+0 1.0000000000000000e+0 7.1525573730468750e-7
+ Max RelError of 1.0000000000000000e+0 at index of 3.
assert_true: expected true got false
FAIL < [4-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [5.1-channel input] 5.1->2 downmix producing 2-channel output
-FAIL X 5.1: Channel 0 does not equal [0,0,2.302107334136963,2.0779101848602295,3.943439245223999,2.6875929832458496,1.0334471464157104,0.5752094984054565,1.1987407207489014,1.1847302913665771,-0.41883009672164917,-2.212879180908203,-2.9619672298431396,-1.2789843082427979,0.2622532546520233,0.6033463478088379...] with an element-wise tolerance of {"absoluteThreshold":0.0000017267801015661442,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [2] 2.2064246237277985e-2 2.3021073341369629e+0 2.2800430878996849e+0 9.9041563096989582e-1 1.7267801015661442e-6
- [3] 1.9915457814931870e-2 2.0779101848602295e+0 2.0579947270452976e+0 9.9041563107008324e-1 1.7267801015661442e-6
- [4] 3.7795379757881165e-2 3.9434392452239990e+0 3.9056438654661179e+0 9.9041563026394885e-1 1.7267801015661442e-6
- [5] 2.5758884847164154e-2 2.6875929832458496e+0 2.6618340983986855e+0 9.9041563026554169e-1 1.7267801015661442e-6
- [6] 9.9049387499690056e-3 1.0334471464157104e+0 1.0235422076657414e+0 9.9041563104187558e-1 1.7267801015661442e-6
- ...and 1273 more errors.
- Max AbsError of 3.9134636670351028e+0 at index of 153.
- [153] 3.7871047854423523e-2 3.9513347148895264e+0 3.9134636670351028e+0 9.9041563153034928e-1 1.7267801015661442e-6
- Max RelError of 9.9041565882256477e-1 at index of 694.
- [694] -4.5286957174539566e-5 -4.7250986099243164e-3 4.6798116527497768e-3 9.9041565882256477e-1 1.7267801015661442e-6
- assert_true: expected true got false
-FAIL X 5.1: Channel 1 does not equal [0,0,0,2.302107334136963,2.0779101848602295,3.943439245223999,2.6875929832458496,1.0334471464157104,0.5752094984054565,1.1987407207489014,1.1847302913665771,-0.41883009672164917,-2.212879180908203,-2.9619672298431396,-1.2789843082427979,0.2622532546520233...] with an element-wise tolerance of {"absoluteThreshold":0.0000017267801015661442,"relativeThreshold":0}.
- Index Actual Expected AbsError RelError Test threshold
- [3] 2.2064246237277985e-2 2.3021073341369629e+0 2.2800430878996849e+0 9.9041563096989582e-1 1.7267801015661442e-6
- [4] 1.9915457814931870e-2 2.0779101848602295e+0 2.0579947270452976e+0 9.9041563107008324e-1 1.7267801015661442e-6
- [5] 3.7795379757881165e-2 3.9434392452239990e+0 3.9056438654661179e+0 9.9041563026394885e-1 1.7267801015661442e-6
- [6] 2.5758884847164154e-2 2.6875929832458496e+0 2.6618340983986855e+0 9.9041563026554169e-1 1.7267801015661442e-6
- [7] 9.9049387499690056e-3 1.0334471464157104e+0 1.0235422076657414e+0 9.9041563104187558e-1 1.7267801015661442e-6
- ...and 1272 more errors.
- Max AbsError of 3.9134636670351028e+0 at index of 154.
- [154] 3.7871047854423523e-2 3.9513347148895264e+0 3.9134636670351028e+0 9.9041563153034928e-1 1.7267801015661442e-6
- Max RelError of 9.9041565882256477e-1 at index of 695.
- [695] -4.5286957174539566e-5 -4.7250986099243164e-3 4.6798116527497768e-3 9.9041565882256477e-1 1.7267801015661442e-6
- assert_true: expected true got false
-FAIL < [5.1-channel input] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS 5.1: Channel 0 equals [0,0,2.302107334136963,2.0779101848602295,3.943439245223999,2.6875929832458496,1.0334471464157104,0.5752094984054565,1.1987407207489014,1.1847302913665771,-0.41883009672164917,-2.212879180908203,-2.9619672298431396,-1.2789843082427979,0.2622532546520233,0.6033463478088379...] with an element-wise tolerance of {"absoluteThreshold":0.0000017267801015661442,"relativeThreshold":0}.
+PASS 5.1: Channel 1 equals [0,0,0,2.302107334136963,2.0779101848602295,3.943439245223999,2.6875929832458496,1.0334471464157104,0.5752094984054565,1.1987407207489014,1.1847302913665771,-0.41883009672164917,-2.212879180908203,-2.9619672298431396,-1.2789843082427979,0.2622532546520233...] with an element-wise tolerance of {"absoluteThreshold":0.0000017267801015661442,"relativeThreshold":0}.
+PASS < [5.1-channel input] All assertions passed. (total 2 assertions)
PASS > [delayed buffer set] Delayed set of 4-channel response
PASS Output with delayed setting of convolver buffer is not constantly 0 (contains 768 different values).
PASS < [delayed buffer set] All assertions passed. (total 1 assertions)
PASS > [count 1, 2-channel in] 2->1 downmix because channel count is 1
-PASS Convolver count 1, stereo in: output 0 is identical to the array [0,0,0.009091026149690151,0.008120184764266014,0.01698237657546997,0.016406312584877014,0.01599421724677086,0.016509821638464928,0.01572815328836441,0.017706308513879776,0.011443466879427433,0.0019989171996712685,-0.0050471071153879166,-0.015073457732796669,-0.017253726720809937,-0.015591667033731937...].
-PASS Convolver count 1, stereo in: output 1 is identical to the array [0,0,0,0.009091026149690151,0.008120184764266014,0.01698237657546997,0.016406312584877014,0.01599421724677086,0.016509821638464928,0.01572815328836441,0.017706308513879776,0.011443466879427433,0.0019989171996712685,-0.0050471071153879166,-0.015073457732796669,-0.017253726720809937...].
+PASS Convolver count 1, stereo in: output 0 is identical to the array [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...].
+PASS Convolver count 1, stereo in: output 1 is identical to the array [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...].
PASS < [count 1, 2-channel in] All assertions passed. (total 2 assertions)
PASS > [count 1, 4-channel in] 4->1 downmix because channel count is 1
-PASS Convolver count 1, 4-channel in: output 0 is identical to the array [0,0,0.009322743862867355,0.007732070982456207,0.0176837258040905,0.012612107209861279,0.009366313926875591,0.0031793261878192425,-0.0025462862104177475,-0.0019170588348060846,-0.003677866654470563,0.00027301706722937524,-0.0018339641392230988,-0.0031614925246685743,-0.001535282121039927,-0.005929086357355118...].
-PASS Convolver count 1, 4-channel in: output 1 is identical to the array [0,0,0,0.009322743862867355,0.007732070982456207,0.0176837258040905,0.012612107209861279,0.009366313926875591,0.0031793261878192425,-0.0025462862104177475,-0.0019170588348060846,-0.003677866654470563,0.00027301706722937524,-0.0018339641392230988,-0.0031614925246685743,-0.001535282121039927...].
-PASS < [count 1, 4-channel in] All assertions passed. (total 2 assertions)
+FAIL X Convolver count 1, 4-channel in: output 0 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 1278 places:
+ Index Actual Expected
+ [2] 9.7270292043685913e-1 0.0000000000000000e+0
+ [3] 8.0673760175704956e-1 0.0000000000000000e+0
+ [4] 1.8450587987899780e+0 0.0000000000000000e+0
+ [5] 1.3159036636352539e+0 0.0000000000000000e+0
+ ...and 1274 more errors. assert_true: expected true got false
+FAIL X Convolver count 1, 4-channel in: output 1 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 1277 places:
+ Index Actual Expected
+ [3] 9.7270292043685913e-1 0.0000000000000000e+0
+ [4] 8.0673760175704956e-1 0.0000000000000000e+0
+ [5] 1.8450587987899780e+0 0.0000000000000000e+0
+ [6] 1.3159036636352539e+0 0.0000000000000000e+0
+ ...and 1273 more errors. assert_true: expected true got false
+FAIL < [count 1, 4-channel in] 2 out of 2 assertions were failed. assert_true: expected true got false
PASS > [count 1, 5.1-channel in] 5.1->1 downmix because channel count is 1
-PASS Convolver count 1, 5.1 channel in: output 0 is identical to the array [0,0,0.031914617866277695,0.02663126215338707,0.05076988413929939,0.036230798810720444,0.019873308017849922,0.010681130923330784,0.0016360501758754253,-0.0024065938778221607,-0.010077287442982197,-0.013031281530857086,-0.017791341990232468,-0.008435824885964394,0.006493833381682634,0.002182352589443326...].
-PASS Convolver count 1, 5.1 channel in: output 1 is identical to the array [0,0,0,0.031914617866277695,0.02663126215338707,0.05076988413929939,0.036230798810720444,0.019873308017849922,0.010681130923330784,0.0016360501758754253,-0.0024065938778221607,-0.010077287442982197,-0.013031281530857086,-0.017791341990232468,-0.008435824885964394,0.006493833381682634...].
-PASS < [count 1, 5.1-channel in] All assertions passed. (total 2 assertions)
+FAIL X Convolver count 1, 5.1 channel in: output 0 expected to be equal to the array [0,0,3.3298611640930176,2.778614044189453,5.297154426574707,3.7801966667175293,2.073512315750122,1.1144323348999023,0.1706998348236084,-0.2510956823825836,-1.051429271697998,-1.3596389293670654,-1.8562872409820557,-0.8801648020744324,0.6775441765785217,0.2276991307735443...] but differs in 1278 places:
+ Index Actual Expected
+ [2] 0.0000000000000000e+0 3.3298611640930176e+0
+ [3] 0.0000000000000000e+0 2.7786140441894531e+0
+ [4] 0.0000000000000000e+0 5.2971544265747070e+0
+ [5] 0.0000000000000000e+0 3.7801966667175293e+0
+ ...and 1274 more errors. assert_true: expected true got false
+FAIL X Convolver count 1, 5.1 channel in: output 1 expected to be equal to the array [0,0,0,3.3298611640930176,2.778614044189453,5.297154426574707,3.7801966667175293,2.073512315750122,1.1144323348999023,0.1706998348236084,-0.2510956823825836,-1.051429271697998,-1.3596389293670654,-1.8562872409820557,-0.8801648020744324,0.6775441765785217...] but differs in 1277 places:
+ Index Actual Expected
+ [3] 0.0000000000000000e+0 3.3298611640930176e+0
+ [4] 0.0000000000000000e+0 2.7786140441894531e+0
+ [5] 0.0000000000000000e+0 5.2971544265747070e+0
+ [6] 0.0000000000000000e+0 3.7801966667175293e+0
+ ...and 1273 more errors. assert_true: expected true got false
+FAIL < [count 1, 5.1-channel in] 2 out of 2 assertions were failed. assert_true: expected true got false
FAIL # AUDIT TASK RUNNER FINISHED: 5 out of 10 tasks were failed. assert_true: expected true got false
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-upmixing-1-channel-response-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-upmixing-1-channel-response-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-upmixing-1-channel-response-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -1,5 +1,5 @@
-FAIL speakers, initially mono assert_approx_equals: output at 191 in channel 0 expected -0.019168466329574585 +/- 7.152557373046875e-7 but got 0
-FAIL discrete assert_approx_equals: output at 191 in channel 0 expected -0.019168466329574585 +/- 7.152557373046875e-7 but got 0
-FAIL speakers, initially stereo assert_approx_equals: output at 191 in channel 0 expected -0.019168466329574585 +/- 7.152557373046875e-7 but got 0
+FAIL speakers, initially mono assert_approx_equals: output at 191 in channel 0 expected -0.4999929368495941 +/- 7.152557373046875e-7 but got 0
+FAIL discrete assert_approx_equals: output at 191 in channel 0 expected -0.4999929368495941 +/- 7.152557373046875e-7 but got 0
+FAIL speakers, initially stereo assert_approx_equals: output at 191 in channel 0 expected -0.4999929368495941 +/- 7.152557373046875e-7 but got 0
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt (266500 => 266501)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt 2020-09-03 03:22:28 UTC (rev 266501)
@@ -3,7 +3,7 @@
PASS Executing "test"
PASS Audit report
PASS > [test] Test convolver with real-time context
-FAIL X SNR is not greater than or equal to 88.457. Got -79.48810094446551. assert_true: expected true got false
+FAIL X SNR is not greater than or equal to 88.457. Got 77.00623887904952. assert_true: expected true got false
FAIL < [test] 1 out of 1 assertions were failed. assert_true: expected true got false
FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false
Modified: trunk/Source/WebCore/ChangeLog (266500 => 266501)
--- trunk/Source/WebCore/ChangeLog 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/Source/WebCore/ChangeLog 2020-09-03 03:22:28 UTC (rev 266501)
@@ -1,3 +1,35 @@
+2020-09-02 Chris Dumez <cdu...@apple.com>
+
+ Choose adequate number of channels for ConvolverNode's output
+ https://bugs.webkit.org/show_bug.cgi?id=216099
+
+ Reviewed by Eric Carlson.
+
+ Choose adequate number of channels for ConvolverNode's output. We were using 2 channels for
+ the output no matter what but we're supposed to use a single channel if both the input
+ and the response buffer are mono.
+
+ This is based on the following Blink change by Raymond Toy:
+ - https://codereview.chromium.org/2732523003
+
+ No new tests, rebaselined existing tests.
+
+ * Modules/webaudio/ConvolverNode.cpp:
+ (WebCore::computeNumberOfOutputChannels):
+ (WebCore::ConvolverNode::create):
+ Set the shouldNormalize flag *before* we set the buffer since setBuffer() relies on
+ the flag. This gives us a few more test passes.
+
+ (WebCore::ConvolverNode::ConvolverNode):
+ (WebCore::ConvolverNode::setBuffer):
+ (WebCore::ConvolverNode::checkNumberOfChannelsForInput):
+ * Modules/webaudio/ConvolverNode.h:
+ * platform/audio/Reverb.cpp:
+ (WebCore::Reverb::Reverb):
+ (WebCore::Reverb::initialize):
+ (WebCore::Reverb::process):
+ * platform/audio/Reverb.h:
+
2020-09-02 Darin Adler <da...@apple.com>
Simplify some editing code
Modified: trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp (266500 => 266501)
--- trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp 2020-09-03 03:22:28 UTC (rev 266501)
@@ -47,6 +47,13 @@
WTF_MAKE_ISO_ALLOCATED_IMPL(ConvolverNode);
+static unsigned computeNumberOfOutputChannels(unsigned inputChannels, unsigned responseChannels)
+{
+ // The number of output channels for a Convolver must be one or two. And can only be one if
+ // there's a mono source and a mono response buffer.
+ return (inputChannels == 1 && responseChannels == 1) ? 1u : 2u;
+}
+
ExceptionOr<Ref<ConvolverNode>> ConvolverNode::create(BaseAudioContext& context, ConvolverOptions&& options)
{
if (context.isStopped())
@@ -60,12 +67,12 @@
if (result.hasException())
return result.releaseException();
+ node->setNormalize(!options.disableNormalization);
+
result = node->setBuffer(WTFMove(options.buffer));
if (result.hasException())
return result.releaseException();
- node->setNormalize(!options.disableNormalization);
-
return node;
}
@@ -75,7 +82,7 @@
setNodeType(NodeTypeConvolver);
addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addOutput(makeUnique<AudioNodeOutput>(this, 1));
initialize();
}
@@ -163,13 +170,21 @@
// Create the reverb with the given impulse response.
bool useBackgroundThreads = !context().isOfflineContext();
- auto reverb = makeUnique<Reverb>(bufferBus.get(), AudioNode::ProcessingSizeInFrames, MaxFFTSize, 2, useBackgroundThreads, m_normalize);
+ auto reverb = makeUnique<Reverb>(bufferBus.get(), AudioNode::ProcessingSizeInFrames, MaxFFTSize, useBackgroundThreads, m_normalize);
{
+ // The context must be locked since changing the buffer can re-configure the number of channels that are output.
+ BaseAudioContext::AutoLocker contextLocker(context());
+
// Synchronize with process().
auto locker = holdLock(m_processMutex);
+
m_reverb = WTFMove(reverb);
m_buffer = WTFMove(buffer);
+ if (m_buffer) {
+ // This will propagate the channel count to any nodes connected further downstream in the graph.
+ output(0)->setNumberOfChannels(computeNumberOfOutputChannels(input(0)->numberOfChannels(), m_buffer->numberOfChannels()));
+ }
}
return { };
@@ -211,6 +226,30 @@
return AudioNode::setChannelCountMode(mode);
}
+void ConvolverNode::checkNumberOfChannelsForInput(AudioNodeInput* input)
+{
+ ASSERT(context().isAudioThread() && context().isGraphOwner());
+
+ if (m_buffer) {
+ unsigned numberOfOutputChannels = computeNumberOfOutputChannels(input->numberOfChannels(), m_buffer->numberOfChannels());
+
+ if (isInitialized() && numberOfOutputChannels != output(0)->numberOfChannels()) {
+ // We're already initialized but the channel count has changed.
+ uninitialize();
+ }
+
+ if (!isInitialized()) {
+ // This will propagate the channel count to any nodes connected further
+ // downstream in the graph.
+ output(0)->setNumberOfChannels(numberOfOutputChannels);
+ initialize();
+ }
+ }
+
+ // Update the input's internal bus if needed.
+ AudioNode::checkNumberOfChannelsForInput(input);
+}
+
} // namespace WebCore
#endif // ENABLE(WEB_AUDIO)
Modified: trunk/Source/WebCore/Modules/webaudio/ConvolverNode.h (266500 => 266501)
--- trunk/Source/WebCore/Modules/webaudio/ConvolverNode.h 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/Source/WebCore/Modules/webaudio/ConvolverNode.h 2020-09-03 03:22:28 UTC (rev 266501)
@@ -61,6 +61,7 @@
void reset() final;
void initialize() final;
void uninitialize() final;
+ void checkNumberOfChannelsForInput(AudioNodeInput*) final;
std::unique_ptr<Reverb> m_reverb;
RefPtr<AudioBuffer> m_buffer;
Modified: trunk/Source/WebCore/platform/audio/Reverb.cpp (266500 => 266501)
--- trunk/Source/WebCore/platform/audio/Reverb.cpp 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/Source/WebCore/platform/audio/Reverb.cpp 2020-09-03 03:22:28 UTC (rev 266501)
@@ -85,7 +85,7 @@
return scale;
}
-Reverb::Reverb(AudioBus* impulseResponse, size_t renderSliceSize, size_t maxFFTSize, size_t numberOfChannels, bool useBackgroundThreads, bool normalize)
+Reverb::Reverb(AudioBus* impulseResponse, size_t renderSliceSize, size_t maxFFTSize, bool useBackgroundThreads, bool normalize)
{
float scale = 1;
@@ -92,20 +92,21 @@
if (normalize)
scale = calculateNormalizationScale(impulseResponse);
- initialize(impulseResponse, renderSliceSize, maxFFTSize, numberOfChannels, useBackgroundThreads, scale);
+ initialize(impulseResponse, renderSliceSize, maxFFTSize, useBackgroundThreads, scale);
}
-void Reverb::initialize(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, size_t numberOfChannels, bool useBackgroundThreads, float scale)
+void Reverb::initialize(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, bool useBackgroundThreads, float scale)
{
m_impulseResponseLength = impulseResponseBuffer->length();
// The reverb can handle a mono impulse response and still do stereo processing
- size_t numResponseChannels = impulseResponseBuffer->numberOfChannels();
- m_convolvers.reserveCapacity(numberOfChannels);
+ m_numberOfResponseChannels = impulseResponseBuffer->numberOfChannels();
+ unsigned convolverCount = std::max(m_numberOfResponseChannels, 2u);
+ m_convolvers.reserveCapacity(convolverCount);
int convolverRenderPhase = 0;
- for (size_t i = 0; i < numResponseChannels; ++i) {
- AudioChannel* channel = impulseResponseBuffer->channel(i);
+ for (unsigned i = 0; i < convolverCount; ++i) {
+ auto* channel = impulseResponseBuffer->channel(std::min(i, m_numberOfResponseChannels - 1));
m_convolvers.append(makeUnique<ReverbConvolver>(channel, renderSliceSize, maxFFTSize, convolverRenderPhase, useBackgroundThreads, scale));
@@ -114,7 +115,7 @@
// For "True" stereo processing we allocate a temporary buffer to avoid repeatedly allocating it in the process() method.
// It can be bad to allocate memory in a real-time thread.
- if (numResponseChannels == 4)
+ if (m_numberOfResponseChannels == 4)
m_tempBuffer = AudioBus::create(2, MaxFrameSize);
}
@@ -121,13 +122,15 @@
void Reverb::process(const AudioBus* sourceBus, AudioBus* destinationBus, size_t framesToProcess)
{
// Do a fairly comprehensive sanity check.
- // If these conditions are satisfied, all of the source and destination pointers will be valid for the various matrixing cases.
- bool isSafeToProcess = sourceBus && destinationBus && sourceBus->numberOfChannels() > 0 && destinationBus->numberOfChannels() > 0
- && framesToProcess <= MaxFrameSize && framesToProcess <= sourceBus->length() && framesToProcess <= destinationBus->length();
-
- ASSERT(isSafeToProcess);
- if (!isSafeToProcess)
- return;
+ // If these conditions are satisfied, all of the source and destination
+ // pointers will be valid for the various matrixing cases.
+ ASSERT(sourceBus);
+ ASSERT(destinationBus);
+ ASSERT(sourceBus->numberOfChannels() > 0u);
+ ASSERT(destinationBus->numberOfChannels() > 0u);
+ ASSERT(framesToProcess <= MaxFrameSize);
+ ASSERT(framesToProcess <= sourceBus->length());
+ ASSERT(framesToProcess <= destinationBus->length());
// For now only handle mono or stereo output
if (destinationBus->numberOfChannels() > 2) {
@@ -141,36 +144,55 @@
// Handle input -> output matrixing...
size_t numInputChannels = sourceBus->numberOfChannels();
size_t numOutputChannels = destinationBus->numberOfChannels();
- size_t numReverbChannels = m_convolvers.size();
+ size_t numberOfResponseChannels = m_numberOfResponseChannels;
- if (numInputChannels == 2 && numReverbChannels == 2 && numOutputChannels == 2) {
- // 2 -> 2 -> 2
+ ASSERT(numInputChannels <= 2ul);
+ ASSERT(numOutputChannels <= 2ul);
+ ASSERT(numberOfResponseChannels == 1 || numberOfResponseChannels == 2 || numberOfResponseChannels == 4);
+
+ // These are the possible combinations of number inputs, response
+ // channels and outputs channels that need to be supported:
+ //
+ // numInputChannels: 1 or 2
+ // numberOfResponseChannels: 1, 2, or 4
+ // numOutputChannels: 1 or 2
+ //
+ // Not all possible combinations are valid. numOutputChannels is
+ // one only if both numInputChannels and numberOfResponseChannels are 1.
+ // Otherwise numOutputChannels MUST be 2.
+ //
+ // The valid combinations are
+ //
+ // Case in -> resp -> out
+ // 1 1 -> 1 -> 1
+ // 2 1 -> 2 -> 2
+ // 3 1 -> 4 -> 2
+ // 4 2 -> 1 -> 2
+ // 5 2 -> 2 -> 2
+ // 6 2 -> 4 -> 2
+
+ if (numInputChannels == 2 && (numberOfResponseChannels == 1 || numberOfResponseChannels == 2) && numOutputChannels == 2) {
+ // Case 4 and 5: 2 -> 2 -> 2 or 2 -> 1 -> 2.
+ //
+ // These can be handled in the same way because in the latter
+ // case, two connvolvers are still created with the second being a
+ // copy of the first.
const AudioChannel* sourceChannelR = sourceBus->channel(1);
AudioChannel* destinationChannelR = destinationBus->channel(1);
m_convolvers[0]->process(sourceChannelL, destinationChannelL, framesToProcess);
m_convolvers[1]->process(sourceChannelR, destinationChannelR, framesToProcess);
- } else if (numInputChannels == 1 && numOutputChannels == 2 && numReverbChannels == 2) {
- // 1 -> 2 -> 2
+ } else if (numInputChannels == 1 && numOutputChannels == 2 && numberOfResponseChannels == 2) {
+ // Case 2: 1 -> 2 -> 2
for (int i = 0; i < 2; ++i) {
AudioChannel* destinationChannel = destinationBus->channel(i);
m_convolvers[i]->process(sourceChannelL, destinationChannel, framesToProcess);
}
- } else if (numInputChannels == 1 && numReverbChannels == 1 && numOutputChannels == 2) {
- // 1 -> 1 -> 2
+ } else if (numInputChannels == 1 && numberOfResponseChannels == 1) {
+ // Case 1: 1 -> 1 -> 1
+ ASSERT(numOutputChannels == 1ul);
m_convolvers[0]->process(sourceChannelL, destinationChannelL, framesToProcess);
-
- // simply copy L -> R
- AudioChannel* destinationChannelR = destinationBus->channel(1);
- bool isCopySafe = destinationChannelL->data() && destinationChannelR->data() && destinationChannelL->length() >= framesToProcess && destinationChannelR->length() >= framesToProcess;
- ASSERT(isCopySafe);
- if (!isCopySafe)
- return;
- memcpy(destinationChannelR->mutableData(), destinationChannelL->data(), sizeof(float) * framesToProcess);
- } else if (numInputChannels == 1 && numReverbChannels == 1 && numOutputChannels == 1) {
- // 1 -> 1 -> 1
- m_convolvers[0]->process(sourceChannelL, destinationChannelL, framesToProcess);
- } else if (numInputChannels == 2 && numReverbChannels == 4 && numOutputChannels == 2) {
- // 2 -> 4 -> 2 ("True" stereo)
+ } else if (numInputChannels == 2 && numberOfResponseChannels == 4 && numOutputChannels == 2) {
+ // Case 6: 2 -> 4 -> 2 ("True" stereo)
const AudioChannel* sourceChannelR = sourceBus->channel(1);
AudioChannel* destinationChannelR = destinationBus->channel(1);
@@ -186,9 +208,10 @@
m_convolvers[3]->process(sourceChannelR, tempChannelR, framesToProcess);
destinationBus->sumFrom(*m_tempBuffer);
- } else if (numInputChannels == 1 && numReverbChannels == 4 && numOutputChannels == 2) {
- // 1 -> 4 -> 2 (Processing mono with "True" stereo impulse response)
- // This is an inefficient use of a four-channel impulse response, but we should handle the case.
+ } else if (numInputChannels == 1 && numberOfResponseChannels == 4 && numOutputChannels == 2) {
+ // Case 3: 1 -> 4 -> 2 (Processing mono with "True" stereo impulse
+ // response) This is an inefficient use of a four-channel impulse
+ // response, but we should handle the case.
AudioChannel* destinationChannelR = destinationBus->channel(1);
AudioChannel* tempChannelL = m_tempBuffer->channel(0);
@@ -204,8 +227,7 @@
destinationBus->sumFrom(*m_tempBuffer);
} else {
- // Handle gracefully any unexpected / unsupported matrixing
- // FIXME: add code for 5.1 support...
+ ASSERT_NOT_REACHED();
destinationBus->zero();
}
}
Modified: trunk/Source/WebCore/platform/audio/Reverb.h (266500 => 266501)
--- trunk/Source/WebCore/platform/audio/Reverb.h 2020-09-03 02:59:38 UTC (rev 266500)
+++ trunk/Source/WebCore/platform/audio/Reverb.h 2020-09-03 03:22:28 UTC (rev 266501)
@@ -44,7 +44,7 @@
enum { MaxFrameSize = 256 };
// renderSliceSize is a rendering hint, so the FFTs can be optimized to not all occur at the same time (very bad when rendering on a real-time thread).
- Reverb(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, size_t numberOfChannels, bool useBackgroundThreads, bool normalize);
+ Reverb(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, bool useBackgroundThreads, bool normalize);
void process(const AudioBus* sourceBus, AudioBus* destinationBus, size_t framesToProcess);
void reset();
@@ -53,10 +53,13 @@
size_t latencyFrames() const;
private:
- void initialize(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, size_t numberOfChannels, bool useBackgroundThreads, float scale);
+ void initialize(AudioBus* impulseResponseBuffer, size_t renderSliceSize, size_t maxFFTSize, bool useBackgroundThreads, float scale);
size_t m_impulseResponseLength;
+ // The actual number of channels in the response. This can be less
+ // than the number of ReverbConvolver's in |m_convolvers|.
+ unsigned m_numberOfResponseChannels { 0 };
Vector<std::unique_ptr<ReverbConvolver>> m_convolvers;
// For "True" stereo processing