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

Issue 1820403002: Implement Automations for PannerNode and AutioListener (Closed)

Created:
4 years, 9 months ago by Raymond Toy
Modified:
4 years, 7 months ago
Reviewers:
tkent, Mark P, hongchan
CC:
blink-reviews, chromium-reviews, kinuko+watch, Raymond Toy
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement Automations for PannerNode and AudioListener To support smoother Panner effects, the 3D components of the position and orientation of the Panner node are added as AudioParams. Likewise, the components of the position, up, and forward vectors for the AudioListener are exposed as AudioParams. Use counters are added for setPosition and setOrientation to keep track of these since the spec has deprecated these methods. Also changed the use counter name for createPanner() so we can keep track of the usage of this new Panner node with automations. The automations are a-rate, and the a-rate update is implemented only for the "equalpower" panner. The "HRTF" panning model is still k-rate. (We expect the inherent smoothing in HRTF is sufficient and the huge increase in complexity is not worth the effort.) WebAudio issue: https://github.com/WebAudio/web-audio-api/issues/749 Spec: http://webaudio.github.io/web-audio-api/#the-pannernode-interface Intent: https://groups.google.com/a/chromium.org/d/msg/blink-dev/zH8QYCU0Y2I/qgsvKYjDBgAJ BUG=590000 TEST=panner-automation*.html, audiolistener-automation*.html Committed: https://crrev.com/2f2105fe40e9097470fe79d9d7b6fe2d88e73c38 Cr-Commit-Position: refs/heads/master@{#393983}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Rebase #

Patch Set 4 : Rebase #

Patch Set 5 : Rebase and remove unneeded files #

Patch Set 6 : Remove dezippering code that isn't used anymore. #

Patch Set 7 : Rebase, add use counter, clean up #

Patch Set 8 : Rebase UseCounter, clean up tests #

Patch Set 9 : #

Patch Set 10 : Rebase UseCounter.h #

Total comments: 24

Patch Set 11 : Address comments #

Total comments: 28

Patch Set 12 : Rebase #

Patch Set 13 : Address comments #

Patch Set 14 : Address comments #

Patch Set 15 : Rebase #

Patch Set 16 : Rebase and update histograms.xml #

Total comments: 6

Patch Set 17 : Address comments and rebase #

Patch Set 18 : Update test because CL for min/maxValue AudioParam landed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2301 lines, -343 lines) Patch
M third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +9 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-basic-expected.txt View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +204 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position-expected.txt View 1 2 3 4 5 6 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-nominal-range.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +73 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-nominal-range-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +97 lines, -3 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +255 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/panner-automation-basic-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +137 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/webaudio/panner-automation-equalpower-stereo.html View 1 2 3 4 5 6 7 2 chunks +6 lines, -2 lines 0 comments Download
A + third_party/WebKit/LayoutTests/webaudio/panner-automation-equalpower-stereo-expected.txt View 1 2 3 4 5 6 0 chunks +-1 lines, --1 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/panner-automation-position.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +266 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/panner-automation-position-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +25 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/panner-equalpower.html View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/panner-equalpower-stereo.html View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/pannernode-basic.html View 1 2 3 4 5 6 1 chunk +187 lines, -175 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/pannernode-basic-expected.txt View 1 2 3 4 5 6 1 chunk +58 lines, -24 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/resources/panner-formulas.js View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +177 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/resources/panner-model-testing.js View 1 2 3 4 5 6 7 8 9 10 3 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/UseCounter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AbstractAudioContext.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AbstractAudioContext.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioContext.idl View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioListener.h View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +97 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioListener.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +172 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioListener.idl View 1 2 3 4 5 6 1 chunk +17 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioParam.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +16 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioParam.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +30 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/PannerNode.h View 8 chunks +85 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/PannerNode.cpp View 1 2 3 4 5 6 7 8 9 10 12 chunks +202 lines, -48 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/PannerNode.idl View 1 2 3 4 5 6 1 chunk +11 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/EqualPowerPanner.h View 1 2 3 4 5 1 chunk +3 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/EqualPowerPanner.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +96 lines, -35 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/HRTFPanner.h View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/HRTFPanner.cpp View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/audio/Panner.h View 1 chunk +1 line, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (15 generated)
Raymond Toy
PTAL.
4 years, 8 months ago (2016-04-25 16:18:42 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1820403002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1820403002/180001
4 years, 8 months ago (2016-04-26 20:36:32 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/173475)
4 years, 8 months ago (2016-04-26 20:45:26 UTC) #8
hongchan
Due to the size of CL, I will break the review into several pieces - ...
4 years, 7 months ago (2016-05-03 18:15:01 UTC) #9
Raymond Toy
https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html File third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html (right): https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html#newcode29 third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html:29: } = nodes; On 2016/05/03 18:15:01, hoch wrote: > ...
4 years, 7 months ago (2016-05-03 20:32:21 UTC) #10
hongchan
https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html File third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html (right): https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html#newcode29 third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html:29: } = nodes; On 2016/05/03 20:32:21, Raymond Toy wrote: ...
4 years, 7 months ago (2016-05-03 20:38:58 UTC) #11
Raymond Toy
https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html File third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html (right): https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html#newcode29 third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html:29: } = nodes; On 2016/05/03 20:38:58, hoch wrote: > ...
4 years, 7 months ago (2016-05-03 20:46:48 UTC) #12
hongchan
On 2016/05/03 20:46:48, Raymond Toy wrote: > https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html > File third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html > (right): > > ...
4 years, 7 months ago (2016-05-03 20:54:48 UTC) #13
Raymond Toy
https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html File third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html (right): https://codereview.chromium.org/1820403002/diff/180001/third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html#newcode29 third_party/WebKit/LayoutTests/webaudio/panner-automation-basic.html:29: } = nodes; On 2016/05/03 18:15:01, hoch wrote: > ...
4 years, 7 months ago (2016-05-03 21:03:46 UTC) #14
hongchan
Mostly styles and nits. https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html File third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html (right): https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html#newcode18 third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html:18: var renderFrames = 1024; The ...
4 years, 7 months ago (2016-05-06 18:41:27 UTC) #15
Raymond Toy
https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html File third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html (right): https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html#newcode112 third_party/WebKit/LayoutTests/webaudio/audiolistener-automation-position.html:112: return runPannerTest(options).then(function (renderedBuffer) { On 2016/05/06 18:41:26, hoch wrote: ...
4 years, 7 months ago (2016-05-06 21:20:50 UTC) #16
Raymond Toy
PTAL again. https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/panner-automation-position.html File third_party/WebKit/LayoutTests/webaudio/panner-automation-position.html (right): https://codereview.chromium.org/1820403002/diff/200001/third_party/WebKit/LayoutTests/webaudio/panner-automation-position.html#newcode114 third_party/WebKit/LayoutTests/webaudio/panner-automation-position.html:114: gainX.gain.linearRampToValueAtTime(options.endPosition[0], 0.75 * renderDuration); On 2016/05/06 18:41:26, ...
4 years, 7 months ago (2016-05-11 19:28:30 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1820403002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1820403002/260001
4 years, 7 months ago (2016-05-12 16:04:28 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/4497) ios-simulator-gn on ...
4 years, 7 months ago (2016-05-12 16:06:25 UTC) #21
hongchan
lgtm. I think the CL is ready for review of the non-webaudio part.
4 years, 7 months ago (2016-05-13 00:33:54 UTC) #22
Raymond Toy
mpearson@ PTAL at histograms.xml (and UseCounter.h) tkent@ PTAL as API owner
4 years, 7 months ago (2016-05-13 15:27:19 UTC) #24
Mark P
histograms.xml lgtm
4 years, 7 months ago (2016-05-13 17:16:21 UTC) #25
tkent
lgtm https://codereview.chromium.org/1820403002/diff/300001/third_party/WebKit/Source/modules/webaudio/AudioListener.cpp File third_party/WebKit/Source/modules/webaudio/AudioListener.cpp (right): https://codereview.chromium.org/1820403002/diff/300001/third_party/WebKit/Source/modules/webaudio/AudioListener.cpp#newcode129 third_party/WebKit/Source/modules/webaudio/AudioListener.cpp:129: ASSERT(sizesAreGood); ASSERT -> DCHECK https://codereview.chromium.org/1820403002/diff/300001/third_party/WebKit/Source/platform/audio/EqualPowerPanner.cpp File third_party/WebKit/Source/platform/audio/EqualPowerPanner.cpp (right): ...
4 years, 7 months ago (2016-05-15 23:45:09 UTC) #26
Raymond Toy
https://codereview.chromium.org/1820403002/diff/300001/third_party/WebKit/Source/modules/webaudio/AudioListener.cpp File third_party/WebKit/Source/modules/webaudio/AudioListener.cpp (right): https://codereview.chromium.org/1820403002/diff/300001/third_party/WebKit/Source/modules/webaudio/AudioListener.cpp#newcode129 third_party/WebKit/Source/modules/webaudio/AudioListener.cpp:129: ASSERT(sizesAreGood); On 2016/05/15 23:45:09, tkent wrote: > ASSERT -> ...
4 years, 7 months ago (2016-05-16 15:49:31 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1820403002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1820403002/320001
4 years, 7 months ago (2016-05-16 15:49:55 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/222293)
4 years, 7 months ago (2016-05-16 20:21:03 UTC) #32
hongchan
lgtm on new changes in audioparam-nominal-range.
4 years, 7 months ago (2016-05-16 21:49:58 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1820403002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1820403002/340001
4 years, 7 months ago (2016-05-16 21:51:04 UTC) #36
commit-bot: I haz the power
Committed patchset #18 (id:340001)
4 years, 7 months ago (2016-05-16 23:49:11 UTC) #38
commit-bot: I haz the power
4 years, 7 months ago (2016-05-16 23:50:45 UTC) #40
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/2f2105fe40e9097470fe79d9d7b6fe2d88e73c38
Cr-Commit-Position: refs/heads/master@{#393983}

Powered by Google App Engine
This is Rietveld 408576698