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

Issue 202923007: create one WebAudioSource for each CreateMediaStreamSource() call. (Closed)

Created:
6 years, 9 months ago by no longer working on chromium
Modified:
6 years, 9 months ago
CC:
blink-reviews, Raymond Toy
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Create one WebAudioSource for each CreateMediaStreamSource() call. Previously, the media stream track will create one source provider and let WebAudio use it. But this does not work when there are more than 1 WebAudio AudioContexts connecting to the same media stream. This Cl fixes the problem by creating one source provider for each CreateMediaStreamSource() call. NOTRY=true BUG=354468 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=170063

Patch Set 1 : #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -18 lines) Patch
M Source/modules/webaudio/AudioContext.cpp View 1 chunk +9 lines, -12 lines 3 comments Download
M Source/modules/webaudio/MediaStreamAudioSourceNode.h View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/modules/webaudio/MediaStreamAudioSourceNode.cpp View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
no longer working on chromium
Hi Raymond and/or Chris, could you please review this CL? This Cl will create one ...
6 years, 9 months ago (2014-03-25 18:14:41 UTC) #1
no longer working on chromium
A gentle ping. Anyone in MTV can take an initial look? I would like to ...
6 years, 9 months ago (2014-03-25 22:24:22 UTC) #2
Raymond Toy
lgtm if it's true that the two versions give the same audioTrack. https://codereview.chromium.org/202923007/diff/30001/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp ...
6 years, 9 months ago (2014-03-25 22:35:41 UTC) #3
Tommy Widenflycht
lgtm
6 years, 9 months ago (2014-03-26 13:15:35 UTC) #4
no longer working on chromium
Thanks guys, landing soon. https://codereview.chromium.org/202923007/diff/30001/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/202923007/diff/30001/Source/modules/webaudio/AudioContext.cpp#newcode406 Source/modules/webaudio/AudioContext.cpp:406: OwnPtr<AudioSourceProvider> provider = audioTrack->createWebAudioSource(); On ...
6 years, 9 months ago (2014-03-26 13:31:11 UTC) #5
no longer working on chromium
The CQ bit was checked by xians@chromium.org
6 years, 9 months ago (2014-03-26 14:35:30 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/xians@chromium.org/202923007/30001
6 years, 9 months ago (2014-03-26 14:35:32 UTC) #7
commit-bot: I haz the power
Change committed as 170063
6 years, 9 months ago (2014-03-26 14:35:57 UTC) #8
Raymond Toy
6 years, 9 months ago (2014-03-26 17:04:46 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/202923007/diff/30001/Source/modules/webaudio/...
File Source/modules/webaudio/AudioContext.cpp (right):

https://codereview.chromium.org/202923007/diff/30001/Source/modules/webaudio/...
Source/modules/webaudio/AudioContext.cpp:406: OwnPtr<AudioSourceProvider>
provider = audioTrack->createWebAudioSource();
On 2014/03/26 13:31:11, xians1 wrote:
> On 2014/03/25 22:35:41, Raymond Toy wrote:
> > Are lines 405-406 here the same as the original lines 402-408? The original
> > finds the first entry in audioTracks[] that has an audioSourceProvider, but
> the
> > new code just uses audioTracks[0]. Are these the same?
> 
> Yes, they are the same.
> Chrome guarantees that the all the local track will have a source provider. So
> the previous code just uses the source provider in the first track of the
> stream. And there will be no source provider on the remote track.
> 
> The new code will use the first track to create a source provider.
> For the local audio track, we create the source provider; but for remote audio
> track, it will be NULL since we don't support it yet.
> 
> If there is only on CreateMediaStreamSource(), the behaviour will be exactly
the
> same as before; if there are multiple, the new code will work while the old
code
> won't.

Thanks for the very detailed explanation. This sounds excellent.

Powered by Google App Engine
This is Rietveld 408576698