-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(numberOfChannels): AudioDestinationNode.numberOfChannels #112
Comments
[admin] Assigning items currently being worked on by editor. |
From the Editor: Change Set: https://dvcs.w3.org/hg/audio/rev/90e55985e260 Feedback given in http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0430.html We don't think that setting numberOfChannels to a configuration that isn't supported should throw an exception, since that's likely to result in unhandled exceptions when authors have only tested with one speaker configuration. For example, it's to be expected that authors will set numberOfChannels to 2 without checking maxNumberOfChannels, which will fail on smartphones with a single speaker. Instead, we think that the requested number of channels should be used and mixing should be applied if the hardware doesn't support it. Note also the typo in "If this value is 0, then this indicates that |
(In reply to comment #2)
Would the proposed resolution of Bug #17379 resolve this as well? |
(In reply to comment #3)
the proposal in Bug #17379 seems only resolve the naming issue of channel layout.
|
(In reply to comment #4)
As long as the specification is clearer about what should happen when setting numberOfChannels to an unsupported number of channels. For instance: if the supported channel counts are 2 and 6, then maxNumberOfChannels should return 6, but what must happen if you set numberOfChannels to 1, 3, 4 or 5? And I still believe that there must be a better way to signal "read only" than to have '0' as a magic constant. In fact, "read only" only means that there is a single allowed configuration (e.g. 2 for a stereo only context).
Dito. |
I'm also really unclear on this. The current draft includes some downmix matricies, but doesn't say when they are to be used. Mapping to a smaller number of output channels inside an AudioDestinationNode is the only obvious place I see, but this is difficult to apply consistently since surround playback is often supported on systems without multichannel playback hardware, with the OS doing its own downmixing. In other words, when "downmixing should be supported" which software layer should be doing the supporting? If setting numberOfChannels asks AudioDestinationNode to up/down mix to a particular number of output channels (ignoring what the lower layers might do with this) how do we set it pass-through? Should maxNumberOfChannels change in response to configuration changes? |
(In reply to comment #6)
(for what it's worth this hasn't yet been implemented in WebKit) Robert and I have been discussing this but don't have all the answers yet. Robert suggests that the up/down mixing would be a property of each node, which could make sense. We've also discussed the idea of a way to query the AudioContext for the hardware channel layout, in addition to just the raw number of channels (.maxNumberOfChannels). Then we would allow the JS code to configure the up/down mixing behavior as it wishes, perhaps using the hardware channel layout information. Robert, can jump in if I've misunderstood. |
I believe this is now well-defined by the upmixing/downmixing section. |
Audio-ISSUE-33 (numberOfChannels): AudioDestinationNode.numberOfChannels [Web Audio API]
http://www.w3.org/2011/audio/track/issues/33
Raised by: Philip Jägenstedt
On product: Web Audio API
It's not defined what numberOfChannels means, is it a constant value that depends on the underlying hardware or the maximum number of channels of all the inputs?
More importantly, what is the use case for exposing this information?
The text was updated successfully, but these errors were encountered: