Closed Bug 1456946 Opened 2 years ago Closed 2 years ago

new ChannelSplitter(c, {channelCount: 6}) fails

Categories

(Core :: Web Audio, defect, P2)

57 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: toy.raymond, Assigned: padenot)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

Steps to reproduce:

In a console enter

c = new AudioContext()
n = new ChannelSplitterNode(c, {channelCount: 6});


Actual results:

I get an error:
InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable


Expected results:

It should succeed and give a new ChannelSplitterNode.

Don't understand what the error message is trying to tell me.

Perhaps related to bug 1456265
Component: Untriaged → Web Audio
Product: Firefox → Core
Rank: 15
Priority: -- → P2
See Also: → 1443224
Assignee: nobody → padenot
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment on attachment 8981532 [details]
Bug 1456946 - Properly reflect the channelCount when set in the ctor using the option object, on a ChannelSplitterNode.

https://reviewboard.mozilla.org/r/247646/#review253962

Looks good.
Attachment #8981532 - Flags: review?(achronop) → review+
Comment on attachment 8981531 [details]
Bug 1456946 - Don't call AudioNode::Initialize on an ChannelSplitterNode during construction to avoid throwing.

https://reviewboard.mozilla.org/r/247644/#review253966

Looks good, a small comment in the description.

::: commit-message-75ad1:7
(Diff revision 1)
> +
> +We initialize the channelCountMode and channelInterpretation (that cannot be
> +changed) appropriately in the C++ ctor, and the channelCount manually as well.
> +
> +Then we check manually that the options for the channelCountMode and
> +channelInterpretation have not been passed, and are not incorrect.

We check channelCount option too. 

Concerning the "have not been passed, and are not incorrect", this is not exactly what we do. When they are passed we check that they are the correct.
Attachment #8981531 - Flags: review?(achronop) → review+
Pushed by paul@paul.cx:
https://hg.mozilla.org/integration/mozilla-inbound/rev/852233de6408
Don't call AudioNode::Initialize on an ChannelSplitterNode during construction to avoid throwing. r=achronop
https://hg.mozilla.org/integration/mozilla-inbound/rev/91a4b9b7cfa8
Properly reflect the channelCount when set in the ctor using the option object, on a ChannelSplitterNode. r=achronop
Backed out 5 changesets (bug 1456265, bug 1456946) for breaking WPT test. CLOSED TREE

Log:
https://treeherder.mozilla.org/logviewer.html#?job_id=180950155&repo=mozilla-inbound&lineNumber=5484

 INFO - TEST-PASS | /webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html | > [1-channel input] produces 1-channel output 
[task 2018-05-30T17:32:32.224Z] 17:32:32     INFO - TEST-UNEXPECTED-FAIL | /webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html | X 1: Channel 1: Expected 0 for all values but found 1279 unexpected values: 
[task 2018-05-30T17:32:32.224Z] 17:32:32     INFO - 	Index	Actual
[task 2018-05-30T17:32:32.224Z] 17:32:32     INFO - 	[1]	-2.9802322387695312e-8
[task 2018-05-30T17:32:32.225Z] 17:32:32     INFO - 	[2]	0.33110618591308594
[task 2018-05-30T17:32:32.226Z] 17:32:32     INFO - 	[3]	0.6248594522476196
[task 2018-05-30T17:32:32.226Z] 17:32:32     INFO - 	[4]	0.8481202721595764
[task 2018-05-30T17:32:32.226Z] 17:32:32     INFO - 	...and 1275 more errors. - assert_true: expected true got false
[task 2018-05-30T17:32:32.226Z] 17:32:32     INFO - _logFailed/<@http://web-platform.test:8000/webaudio/resources/audit.js:44:7
[task 2018-05-30T17:32:32.226Z] 17:32:32     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1538:20
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - test@http://web-platform.test:8000/resources/testharness.js:548:9
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - _logFailed@http://web-platform.test:8000/webaudio/resources/audit.js:43:5
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - _finalize@http://web-platform.test:8000/webaudio/resources/audit.js:206:9
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - _assert@http://web-platform.test:8000/webaudio/resources/audit.js:219:7
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - beConstantValueOf@http://web-platform.test:8000/webaudio/resources/audit.js:640:14
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - @http://web-platform.test:8000/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html:99:19
[task 2018-05-30T17:32:32.227Z] 17:32:32     INFO - promise callback*@http://web-platform.test:8000/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html:91:13
[task 2018-05-30T17:32:32.228Z] 17:32:32     INFO - run@http://web-platform.test:8000/webaudio/resources/audit.js:1158:7
[task 2018-05-30T17:32:32.228Z] 17:32:32     INFO - _runNextTask@http://web-platform.test:8000/webaudio/resources/audit.js:1217:9
[task 2018-05-30T17:32:32.228Z] 17:32:32     INFO - done@http://web-platform.test:8000/webaudio/resources/audit.js:1188:7
[task 2018-05-30T17:32:32.228Z] 17:32:32     INFO - @http://web-platform.test:8000/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html:48:13
[task 2018-05-30T17:32:32.229Z] 17:32:32     INFO - run@http://web-platform.test:8000/webaudio/resources/audit.js:1158:7
[task 2018-05-30T17:32:32.229Z] 17:32:32     INFO - _runNextTask@http://web-platform.test:8000/webaudio/resources/audit.js:1217:9
[task 2018-05-30T17:32:32.229Z] 17:32:32     INFO - run@http://web-platform.test:8000/webaudio/resources/audit.js:1287:7
[task 2018-05-30T17:32:32.229Z] 17:32:32     INFO - @http://web-platform.test:8000/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html:229:7
[task 2018-05-30T17:32:32.230Z] 17:32:32     INFO - 
[task 2018-05-30T17:32:32.230Z] 17:32:32     INFO - TEST-PASS | /webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html |   Convolver output equals [0,0,0.3311063051223755,0.6248595118522644,0.8481203317642212,0.9757021069526672,0.9932119250297546,0.8986744284629822,0.7027547359466553,0.42755505442619324,0.1041216030716896,-0.23105813562870026,-0.5401715040206909,-0.7883464694023132,-0.9475855827331543,-0.9999247193336487...] with an element-wise tolerance of {"absoluteThreshold":4.1724e-7,"relativeThreshold":0}. 
[task 2018-05-30T17:32:32.231Z] 17:32:32     INFO - TEST-UNEXPECTED-FAIL | /webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html | < [1-channel input] 1 out of 2 assertions were failed. - assert_true: expected true got false
[task 2018-05-30T17:32:32.231Z] 17:32:32     INFO - _logFailed/<@http://web-platform.test:8000/webaudio/resources/audit.js:44:7

Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=be22684cddb8ecf3caebb1d77e0aae42a4859b92&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified

Backout:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ad5c73d02164b695c1e2036bf90fad730042a251
Flags: needinfo?(padenot)
Pushed by paul@paul.cx:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9a085b0513f7
Don't call AudioNode::Initialize on an ChannelSplitterNode during construction to avoid throwing. r=achronop
https://hg.mozilla.org/integration/mozilla-inbound/rev/9af1ffb437be
Properly reflect the channelCount when set in the ctor using the option object, on a ChannelSplitterNode. r=achronop
Pushed by paul@paul.cx:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4ac439f97956
Don't call AudioNode::Initialize on an ChannelSplitterNode during construction to avoid throwing. r=achronop
https://hg.mozilla.org/integration/mozilla-inbound/rev/8671df890e45
Properly reflect the channelCount when set in the ctor using the option object, on a ChannelSplitterNode. r=achronop
https://hg.mozilla.org/mozilla-central/rev/4ac439f97956
https://hg.mozilla.org/mozilla-central/rev/8671df890e45
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Flags: needinfo?(padenot)
You need to log in before you can comment on or make changes to this bug.