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

Issue 1256053006: Protect AudioScheduledSoureNode::m_startTime and m_endTime. (Closed)

Created:
5 years, 4 months ago by Raymond Toy
Modified:
4 years, 7 months ago
CC:
blink-reviews, blink-reviews-wtf_chromium.org, Mikhail
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Protect AudioScheduledSoureNode::m_startTime and m_endTime. Both AudioScheduledSourceNode::m_startTime and m_endTime can be accessed by the main thread and the audio thread. The main thread sets these when the node is scheduled to start or stop. The audio thread needs to read these to determine if the node should actually start or stop. Update AudioScheduledSource::start/stop and AudioBufferSource::start to set a lock when modifying m_startTime or m_endTime. BUG=516261 Committed: https://crrev.com/3165ed4939f10c1768fbfcf8cf894da3b5295d8e git-svn-id: svn://svn.chromium.org/blink/trunk@202152 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Rebase #

Total comments: 5

Patch Set 4 : Add static_assert #

Total comments: 4

Patch Set 5 : Use tryLock instead of atomic access #

Total comments: 1

Patch Set 6 : Revert change to OscillatorNode.cpp #

Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -6 lines) Patch
M Source/modules/webaudio/AudioBufferSourceNode.h View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download
M Source/modules/webaudio/AudioBufferSourceNode.cpp View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M Source/modules/webaudio/AudioScheduledSourceNode.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M Source/modules/webaudio/AudioScheduledSourceNode.cpp View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M Source/modules/webaudio/OscillatorNode.h View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 31 (4 generated)
Raymond Toy
5 years, 4 months ago (2015-08-04 23:26:25 UTC) #2
Raymond Toy
PTAL. hoch@: webaudio tkent@, glider@: Atomics.h support for float and double.
5 years, 4 months ago (2015-08-06 18:21:23 UTC) #4
hongchan
webaudio part LGTM.
5 years, 4 months ago (2015-08-06 18:33:39 UTC) #5
tkent
https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h File Source/modules/webaudio/AudioScheduledSourceNode.h (right): https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h#newcode111 Source/modules/webaudio/AudioScheduledSourceNode.h:111: return acquireLoad(&m_startTime); I'm not sure acquireLoad and releaseStore are ...
5 years, 4 months ago (2015-08-07 01:10:04 UTC) #6
Raymond Toy
https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h File Source/modules/webaudio/AudioScheduledSourceNode.h (right): https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h#newcode111 Source/modules/webaudio/AudioScheduledSourceNode.h:111: return acquireLoad(&m_startTime); On 2015/08/07 01:10:03, tkent wrote: > I'm ...
5 years, 4 months ago (2015-08-07 15:45:01 UTC) #7
Raymond Toy
https://codereview.chromium.org/1256053006/diff/40001/Source/wtf/Atomics.h File Source/wtf/Atomics.h (right): https://codereview.chromium.org/1256053006/diff/40001/Source/wtf/Atomics.h#newcode167 Source/wtf/Atomics.h:167: union { On 2015/08/07 01:10:04, tkent wrote: > should ...
5 years, 4 months ago (2015-08-07 16:16:37 UTC) #8
Alexander Potapenko
https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h File Source/wtf/Atomics.h (right): https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h#newcode324 Source/wtf/Atomics.h:324: unsigned long long value = *ptr; Just noticed that ...
5 years, 4 months ago (2015-08-10 14:01:30 UTC) #9
Raymond Toy
https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h File Source/wtf/Atomics.h (right): https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h#newcode324 Source/wtf/Atomics.h:324: unsigned long long value = *ptr; On 2015/08/10 14:01:30, ...
5 years, 4 months ago (2015-08-10 16:36:43 UTC) #10
tkent
https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h File Source/wtf/Atomics.h (right): https://codereview.chromium.org/1256053006/diff/60001/Source/wtf/Atomics.h#newcode324 Source/wtf/Atomics.h:324: unsigned long long value = *ptr; On 2015/08/10 16:36:42, ...
5 years, 4 months ago (2015-08-11 00:41:28 UTC) #11
tkent
https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h File Source/modules/webaudio/AudioScheduledSourceNode.h (right): https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h#newcode111 Source/modules/webaudio/AudioScheduledSourceNode.h:111: return acquireLoad(&m_startTime); On 2015/08/07 15:45:00, Raymond Toy wrote: > ...
5 years, 4 months ago (2015-08-11 00:45:19 UTC) #12
Alexander Potapenko
On 2015/08/11 00:45:19, tkent wrote: > https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h > File Source/modules/webaudio/AudioScheduledSourceNode.h (right): > > https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h#newcode111 > ...
5 years, 4 months ago (2015-08-11 10:18:23 UTC) #13
Raymond Toy
On 2015/08/11 10:18:23, Alexander Potapenko wrote: > On 2015/08/11 00:45:19, tkent wrote: > > > ...
5 years, 4 months ago (2015-08-11 15:30:09 UTC) #14
Raymond Toy
On 2015/08/11 00:45:19, tkent wrote: > https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h > File Source/modules/webaudio/AudioScheduledSourceNode.h (right): > > https://codereview.chromium.org/1256053006/diff/40001/Source/modules/webaudio/AudioScheduledSourceNode.h#newcode111 > ...
5 years, 4 months ago (2015-08-11 15:33:04 UTC) #15
Alexander Potapenko
Looks like it's possible to make 64-bit atomic loads and stores iff ldrexd and strexd ...
5 years, 4 months ago (2015-08-11 17:12:27 UTC) #16
Raymond Toy
On 2015/08/11 17:12:27, Alexander Potapenko wrote: > Looks like it's possible to make 64-bit atomic ...
5 years, 4 months ago (2015-08-11 19:44:20 UTC) #17
Alexander Potapenko
On 2015/08/11 19:44:20, Raymond Toy wrote: > On 2015/08/11 17:12:27, Alexander Potapenko wrote: > > ...
5 years, 4 months ago (2015-08-11 21:26:49 UTC) #18
Raymond Toy
On 2015/08/11 21:26:49, Alexander Potapenko wrote: > On 2015/08/11 19:44:20, Raymond Toy wrote: > > ...
5 years, 4 months ago (2015-08-11 22:07:02 UTC) #19
Alexander Potapenko
On 2015/08/11 22:07:02, Raymond Toy wrote: > On 2015/08/11 21:26:49, Alexander Potapenko wrote: > > ...
5 years, 4 months ago (2015-08-12 13:28:13 UTC) #20
Raymond Toy
On 2015/08/12 13:28:13, Alexander Potapenko wrote: > On 2015/08/11 22:07:02, Raymond Toy wrote: > > ...
5 years, 4 months ago (2015-08-12 15:41:22 UTC) #21
Raymond Toy
On 2015/08/12 at 15:41:22, Raymond Toy wrote: > On 2015/08/12 13:28:13, Alexander Potapenko wrote: > ...
5 years, 3 months ago (2015-09-09 22:07:42 UTC) #22
Raymond Toy
On 2015/09/09 at 22:07:42, Raymond Toy wrote: > On 2015/08/12 at 15:41:22, Raymond Toy wrote: ...
5 years, 3 months ago (2015-09-10 17:15:33 UTC) #23
Raymond Toy
PTAL
5 years, 3 months ago (2015-09-10 17:15:53 UTC) #24
tkent
lgtm https://codereview.chromium.org/1256053006/diff/80001/Source/modules/webaudio/OscillatorNode.cpp File Source/modules/webaudio/OscillatorNode.cpp (right): https://codereview.chromium.org/1256053006/diff/80001/Source/modules/webaudio/OscillatorNode.cpp#newcode230 Source/modules/webaudio/OscillatorNode.cpp:230: Is this change necessary? The scope of tryLocker ...
5 years, 3 months ago (2015-09-11 00:02:00 UTC) #25
Raymond Toy
On 2015/09/11 at 00:02:00, tkent wrote: > lgtm > > https://codereview.chromium.org/1256053006/diff/80001/Source/modules/webaudio/OscillatorNode.cpp > File Source/modules/webaudio/OscillatorNode.cpp (right): ...
5 years, 3 months ago (2015-09-11 16:43:55 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256053006/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256053006/100001
5 years, 3 months ago (2015-09-11 16:45:10 UTC) #29
commit-bot: I haz the power
Committed patchset #6 (id:100001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202152
5 years, 3 months ago (2015-09-11 18:01:40 UTC) #30
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:23:53 UTC) #31
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/3165ed4939f10c1768fbfcf8cf894da3b5295d8e

Powered by Google App Engine
This is Rietveld 408576698