Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Issue 2420983002: AudioParams with automations must process timelines (Closed)

Created:
4 years, 2 months ago by Raymond Toy
Modified:
3 years, 11 months ago
Reviewers:
hongchan
CC:
Raymond Toy, blink-reviews, chromium-reviews, haraken
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

AudioParams with automations must process timelines Currently, if an AudioNode has no inputs connected, any automations (or connections) to an AudioParam of the node is not processed. Thus, time never advances on the AudioParam, and any upstream graph connected to the AudioParam never gets pulled for data. AudioParam should get processed so that time progresses. Normal processing of the node causes AudioParams to be processed, so we were only missing the case where the node has silent inputs (silent or no inputs). Then we just need to update the AudioParams, without having to do the full processing associated with the node. See https://webaudio.github.io/web-audio-api/#rendering-loop, step 8.1.1 in particular that says any inputs connected to an AudioParam are processed. There are no conditions on when this happens. BUG=647974 TEST=audioparam-processing.html Review-Url: https://codereview.chromium.org/2420983002 Cr-Commit-Position: refs/heads/master@{#442662} Committed: https://chromium.googlesource.com/chromium/src/+/69350f73e4ed47dac12cb087ee4bb6ec64a12a2b

Patch Set 1 #

Patch Set 2 : Pull on connected params #

Patch Set 3 : Add AudioListener test, remove printfs #

Patch Set 4 : Rebase #

Patch Set 5 : Rebase #

Patch Set 6 : Use fixed-size arrays #

Patch Set 7 : Rebase #

Patch Set 8 : Use kRenderQuantumFrames. #

Total comments: 2

Patch Set 9 : Rename processAudioParams to processOnlyAudioParams #

Patch Set 10 : rebase #

Patch Set 11 : Rebase #

Patch Set 12 : Fix paths. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+432 lines, -0 lines) Patch
A third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-processing.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +300 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioBasicProcessorHandler.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioBasicProcessorHandler.cpp View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioNode.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioNode.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/BiquadProcessor.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/BiquadProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DelayDSPKernel.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DelayDSPKernel.cpp View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DelayNode.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DelayProcessor.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DelayProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DynamicsCompressorNode.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/DynamicsCompressorNode.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/GainNode.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/GainNode.cpp View 1 2 3 4 5 6 7 8 2 chunks +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/PannerNode.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/PannerNode.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/StereoPannerNode.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/StereoPannerNode.cpp View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/AudioDSPKernel.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/AudioDSPKernelProcessor.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/AudioDSPKernelProcessor.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/AudioProcessor.h View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (16 generated)
Raymond Toy
PTAL. Source nodes aren't included here because it's not clear how to handle that. (Spec ...
4 years, 1 month ago (2016-11-01 16:49:54 UTC) #11
Raymond Toy
Ping.
4 years, 1 month ago (2016-11-07 22:09:32 UTC) #14
hongchan
One request: perhaps we should rename the method to |processAudioParamsOnly|. https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h File third_party/WebKit/Source/modules/webaudio/AudioNode.h (right): https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h#newcode147 ...
4 years, 1 month ago (2016-11-07 22:17:26 UTC) #15
Raymond Toy
https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h File third_party/WebKit/Source/modules/webaudio/AudioNode.h (right): https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h#newcode147 third_party/WebKit/Source/modules/webaudio/AudioNode.h:147: virtual void processAudioParams(size_t framesToProcess){}; On 2016/11/07 22:17:26, hongchan wrote: ...
4 years, 1 month ago (2016-11-07 23:49:24 UTC) #16
hongchan
On 2016/11/07 23:49:24, Raymond Toy wrote: > https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h > File third_party/WebKit/Source/modules/webaudio/AudioNode.h (right): > > https://codereview.chromium.org/2420983002/diff/140001/third_party/WebKit/Source/modules/webaudio/AudioNode.h#newcode147 ...
4 years, 1 month ago (2016-11-07 23:50:14 UTC) #17
Raymond Toy
4 years, 1 month ago (2016-11-09 21:15:35 UTC) #18
hongchan
lgtm
4 years, 1 month ago (2016-11-09 21:23:15 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2420983002/220001
3 years, 11 months ago (2017-01-10 17:57:03 UTC) #22
commit-bot: I haz the power
3 years, 11 months ago (2017-01-10 19:47:51 UTC) #25
Message was sent while issue was closed.
Committed patchset #12 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/69350f73e4ed47dac12cb087ee4b...

Powered by Google App Engine
This is Rietveld 408576698