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

Issue 1377903002: Use frames instead of time for running AudioParam timelines. (Closed)

Created:
5 years, 2 months ago by Raymond Toy
Modified:
5 years, 2 months ago
Reviewers:
hongchan
CC:
Raymond Toy, blink-reviews, chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use frames instead of time for running AudioParam timelines. This is a large change of how the AudioParam timeline is implemented. Previously, the timeline used floats/doubles to process the timeline. This poses several issues including round-off errors in computing the timeline values and updating the timeline. In addition, the sampling of the automation curves was incorrect. First, to remove the roundoff issues, use the currentFrame to step through the timeline so roundoff is reduced. Second, update the sampling of the automation curves correctly. These errors are shown in crbug 534613 and 527194, which are fixed now. The audioparam tests were also updated to sample the curves correctly and also use the formulas from the spec to implement them instead of trying to duplicate the implementation. Third, a ManualLayoutTest is added for crbug 522229, which is fixed. BUG=534613, 527194, 522229 TESTS=updated existing tests and added audioparam-sampling.html, audioparam-setTargetValue-value.html, and osc-exponentialRamp.html. Committed: https://crrev.com/748834c3a5b1b0479835c4cb3ce7d9b9c8302934 Cr-Commit-Position: refs/heads/master@{#352131}

Patch Set 1 #

Total comments: 26

Patch Set 2 : #

Total comments: 17

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+640 lines, -132 lines) Patch
D third_party/WebKit/LayoutTests/platform/mac/webaudio/audiobuffersource-loop-points-expected.wav View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/webaudio/audiobuffersource-playbackrate-expected.wav View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/webaudio/audiobuffersource-loop-points-expected.wav View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/webaudio/audiobuffersource-playbackrate-expected.wav View Binary file 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audiobuffersource-loop-points-expected.wav View Binary file 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audiobuffersource-playbackrate-expected.wav View Binary file 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-exponentialRampToValueAtTime.html View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-exponentialRampToValueAtTime-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-linearRampToValueAtTime.html View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-linearRampToValueAtTime-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html View 1 2 1 chunk +178 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audioparam-sampling-expected.txt View 1 2 1 chunk +33 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setTargetAtTime.html View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setTargetAtTime-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audioparam-setTargetAtTime-sampling.html View 1 2 1 chunk +102 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webaudio/audioparam-setTargetAtTime-sampling-expected.txt View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setValueAtTime-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setValueCurveAtTime.html View 3 chunks +3 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setValueCurveAtTime-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/audioparam-setValueCurveAtTime-interpolation.html View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js View 2 chunks +12 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/webaudio/resources/audioparam-testing.js View 1 14 chunks +106 lines, -41 lines 0 comments Download
A third_party/WebKit/ManualTests/webaudio/osc-exponentialRamp.html View 1 2 1 chunk +45 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioParam.cpp View 1 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioParamTimeline.h View 1 2 chunks +8 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AudioParamTimeline.cpp View 1 14 chunks +122 lines, -58 lines 0 comments Download

Messages

Total messages: 18 (4 generated)
Raymond Toy
PTAL.
5 years, 2 months ago (2015-09-29 20:31:17 UTC) #2
hongchan
The first pass of review. Mostly nits. https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode175 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:175: }); audit.runTasks(); ...
5 years, 2 months ago (2015-09-30 22:14:18 UTC) #3
Raymond Toy
https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js File third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js (right): https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js#newcode541 third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js:541: var type = typeof value; On 2015/09/30 at 22:14:18, ...
5 years, 2 months ago (2015-09-30 22:30:18 UTC) #4
hongchan
https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js File third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js (right): https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js#newcode541 third_party/WebKit/LayoutTests/webaudio/resources/audio-testing.js:541: var type = typeof value; On 2015/09/30 22:30:18, Raymond ...
5 years, 2 months ago (2015-09-30 22:47:59 UTC) #5
Raymond Toy
https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/1/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode175 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:175: }); audit.runTasks(); On 2015/09/30 at 22:14:18, hoch wrote: > ...
5 years, 2 months ago (2015-10-01 18:05:56 UTC) #6
hongchan
Mostly nits. https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode13 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:13: <div id="console"></div> Same comments with other newly ...
5 years, 2 months ago (2015-10-01 20:20:53 UTC) #7
Raymond Toy
https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode68 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:68: testPassed(config.desc + " passed.\n"); On 2015/10/01 at 20:20:52, hoch ...
5 years, 2 months ago (2015-10-01 20:31:24 UTC) #8
Raymond Toy
https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode13 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:13: <div id="console"></div> On 2015/10/01 at 20:20:52, hoch wrote: > ...
5 years, 2 months ago (2015-10-01 21:30:50 UTC) #9
hongchan
lgtm https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html File third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html (right): https://chromiumcodereview.appspot.com/1377903002/diff/20001/third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html#newcode68 third_party/WebKit/LayoutTests/webaudio/audioparam-sampling.html:68: testPassed(config.desc + " passed.\n"); On 2015/10/01 20:31:23, Raymond ...
5 years, 2 months ago (2015-10-01 22:14:48 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1377903002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1377903002/40001
5 years, 2 months ago (2015-10-02 15:25:05 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/77111)
5 years, 2 months ago (2015-10-02 16:47:38 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1377903002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1377903002/40001
5 years, 2 months ago (2015-10-02 17:58:24 UTC) #16
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 2 months ago (2015-10-02 21:12:17 UTC) #17
commit-bot: I haz the power
5 years, 2 months ago (2015-10-02 21:13:42 UTC) #18
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/748834c3a5b1b0479835c4cb3ce7d9b9c8302934
Cr-Commit-Position: refs/heads/master@{#352131}

Powered by Google App Engine
This is Rietveld 408576698