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

Issue 10832285: Switch OnMoreData() to use AudioBus. (Closed)

Created:
8 years, 4 months ago by DaleCurtis
Modified:
8 years, 3 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, feature-media-reviews_chromium.org, Chris Evans
Visibility:
Public.

Description

Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=154951

Patch Set 1 : Review ready. #

Total comments: 36

Patch Set 2 : Comments. #

Total comments: 15

Patch Set 3 : Comments. Use actual frame count for PPAPI. #

Total comments: 10

Patch Set 4 : Remove CHECK(), clip instead. #

Patch Set 5 : Rename PPAPI audio_buffer_ to client_buffer_. #

Patch Set 6 : Rebase. #

Total comments: 2

Patch Set 7 : Rebase. Comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+597 lines, -602 lines) Patch
M content/browser/renderer_host/media/audio_renderer_host.cc View 1 3 chunks +7 lines, -4 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host_unittest.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M content/browser/renderer_host/media/audio_sync_reader.h View 1 2 3 chunks +10 lines, -2 lines 0 comments Download
M content/browser/renderer_host/media/audio_sync_reader.cc View 1 2 3 4 chunks +37 lines, -24 lines 0 comments Download
M media/audio/android/opensles_output.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/android/opensles_output.cc View 1 2 3 4 5 2 chunks +11 lines, -6 lines 0 comments Download
M media/audio/audio_device_thread.h View 1 2 3 4 5 2 chunks +1 line, -1 line 0 comments Download
M media/audio/audio_device_thread.cc View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
M media/audio/audio_input_device.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M media/audio/audio_io.h View 3 chunks +7 lines, -11 lines 0 comments Download
M media/audio/audio_low_latency_input_output_unittest.cc View 3 chunks +16 lines, -5 lines 0 comments Download
M media/audio/audio_output_controller.h View 4 chunks +10 lines, -8 lines 0 comments Download
M media/audio/audio_output_controller.cc View 7 chunks +13 lines, -12 lines 0 comments Download
M media/audio/audio_output_controller_unittest.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M media/audio/audio_output_device.cc View 1 2 3 4 5 5 chunks +12 lines, -10 lines 0 comments Download
M media/audio/audio_output_device_unittest.cc View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M media/audio/audio_output_proxy_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M media/audio/fake_audio_output_stream.h View 2 chunks +2 lines, -3 lines 0 comments Download
M media/audio/fake_audio_output_stream.cc View 3 chunks +3 lines, -7 lines 0 comments Download
M media/audio/linux/alsa_output.h View 2 chunks +4 lines, -3 lines 0 comments Download
M media/audio/linux/alsa_output.cc View 1 2 4 chunks +17 lines, -18 lines 0 comments Download
M media/audio/linux/alsa_output_unittest.cc View 5 chunks +14 lines, -14 lines 0 comments Download
M media/audio/linux/cras_output.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/linux/cras_output.cc View 1 2 2 chunks +10 lines, -4 lines 0 comments Download
M media/audio/linux/cras_output_unittest.cc View 2 chunks +4 lines, -6 lines 0 comments Download
M media/audio/mac/audio_low_latency_output_mac.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/mac/audio_low_latency_output_mac.cc View 1 2 2 chunks +13 lines, -4 lines 0 comments Download
M media/audio/mac/audio_output_mac.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/mac/audio_output_mac.cc View 1 2 2 chunks +14 lines, -4 lines 0 comments Download
M media/audio/mac/audio_output_mac_unittest.cc View 5 chunks +14 lines, -34 lines 0 comments Download
M media/audio/pulse/pulse_output.h View 5 chunks +11 lines, -10 lines 0 comments Download
M media/audio/pulse/pulse_output.cc View 1 2 2 chunks +13 lines, -7 lines 0 comments Download
M media/audio/simple_sources.h View 2 chunks +12 lines, -58 lines 0 comments Download
M media/audio/simple_sources.cc View 1 2 3 4 5 1 chunk +27 lines, -58 lines 0 comments Download
M media/audio/simple_sources_unittest.cc View 3 chunks +36 lines, -64 lines 0 comments Download
M media/audio/win/audio_low_latency_output_win.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/win/audio_low_latency_output_win.cc View 1 2 3 chunks +22 lines, -7 lines 0 comments Download
M media/audio/win/audio_low_latency_output_win_unittest.cc View 1 10 chunks +27 lines, -28 lines 0 comments Download
M media/audio/win/audio_output_win_unittest.cc View 1 2 3 4 5 6 20 chunks +87 lines, -153 lines 0 comments Download
M media/audio/win/waveout_output_win.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/audio/win/waveout_output_win.cc View 1 2 2 chunks +12 lines, -4 lines 0 comments Download
M media/base/audio_bus.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M media/base/limits.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.h View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download
M ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc View 1 2 3 4 5 6 8 chunks +37 lines, -6 lines 0 comments Download
M ppapi/proxy/ppb_audio_proxy.cc View 1 2 3 4 5 2 chunks +4 lines, -1 line 0 comments Download
M ppapi/shared_impl/ppb_audio_shared.h View 1 2 3 4 3 chunks +10 lines, -1 line 0 comments Download
M ppapi/shared_impl/ppb_audio_shared.cc View 1 2 3 4 5 6 6 chunks +31 lines, -6 lines 0 comments Download
M webkit/plugins/ppapi/ppb_audio_impl.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M webkit/plugins/ppapi/ppb_audio_impl.cc View 1 2 3 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
DaleCurtis
scherkus: all, crogers: mac changes, henrika: windows changes, nfullagar/brettw: ppapi changes. This requires the following ...
8 years, 4 months ago (2012-08-22 23:09:21 UTC) #1
henrika (OOO until Aug 14)
LGTM for the Windows part. FYI - I must admit that I have never really ...
8 years, 4 months ago (2012-08-23 14:42:50 UTC) #2
Chris Rogers
Dale, thanks for doing this. http://codereview.chromium.org/10832285/diff/23001/content/browser/renderer_host/media/audio_renderer_host.cc File content/browser/renderer_host/media/audio_renderer_host.cc (right): http://codereview.chromium.org/10832285/diff/23001/content/browser/renderer_host/media/audio_renderer_host.cc#newcode203 content/browser/renderer_host/media/audio_renderer_host.cc:203: DCHECK_GT(buffer_size, 0U); Does this ...
8 years, 4 months ago (2012-08-24 20:20:26 UTC) #3
DaleCurtis
https://chromiumcodereview.appspot.com/10832285/diff/23001/content/browser/renderer_host/media/audio_renderer_host.cc File content/browser/renderer_host/media/audio_renderer_host.cc (right): https://chromiumcodereview.appspot.com/10832285/diff/23001/content/browser/renderer_host/media/audio_renderer_host.cc#newcode203 content/browser/renderer_host/media/audio_renderer_host.cc:203: DCHECK_GT(buffer_size, 0U); On 2012/08/24 20:20:26, Chris Rogers wrote: > ...
8 years, 4 months ago (2012-08-24 23:53:11 UTC) #4
scherkus (not reviewing)
lgtm w/ nit nice work!! http://codereview.chromium.org/10832285/diff/32001/content/browser/renderer_host/media/audio_sync_reader.h File content/browser/renderer_host/media/audio_sync_reader.h (right): http://codereview.chromium.org/10832285/diff/32001/content/browser/renderer_host/media/audio_sync_reader.h#newcode56 content/browser/renderer_host/media/audio_sync_reader.h:56: // Shared memory wrapper ...
8 years, 3 months ago (2012-08-27 20:46:54 UTC) #5
nfullagar
From a NaCl perspective, some concerns. We need to be extra clear that AudioBus' data_ ...
8 years, 3 months ago (2012-08-27 21:45:00 UTC) #6
DaleCurtis
nfullagar: From our previous discussions the only concern seemed to be handing the hardware invalid ...
8 years, 3 months ago (2012-08-27 22:02:15 UTC) #7
nfullagar
Ok, unless cevans has deeper concerns, most of my concerns can be addressed by adding ...
8 years, 3 months ago (2012-08-27 22:25:17 UTC) #8
Chris Rogers
LGTM with nits http://codereview.chromium.org/10832285/diff/32001/content/browser/renderer_host/media/audio_sync_reader.cc File content/browser/renderer_host/media/audio_sync_reader.cc (right): http://codereview.chromium.org/10832285/diff/32001/content/browser/renderer_host/media/audio_sync_reader.cc#newcode67 content/browser/renderer_host/media/audio_sync_reader.cc:67: DCHECK_EQ(static_cast<size_t>(size) % sizeof(*audio_bus_->channel(0)), 0U); It would ...
8 years, 3 months ago (2012-08-28 22:32:05 UTC) #9
Chris Rogers
http://codereview.chromium.org/10832285/diff/32001/media/audio/mac/audio_output_mac.cc File media/audio/mac/audio_output_mac.cc (right): http://codereview.chromium.org/10832285/diff/32001/media/audio/mac/audio_output_mac.cc#newcode419 media/audio/mac/audio_output_mac.cc:419: base::AutoLock lock(audio_stream->audio_bus_lock_); To elaborate about removing the lock, the ...
8 years, 3 months ago (2012-08-28 22:36:38 UTC) #10
DaleCurtis
All comments should be addressed. I'll do some more testing on all platforms tomorrow. Hopefully ...
8 years, 3 months ago (2012-08-29 04:34:43 UTC) #11
Chris Rogers
https://chromiumcodereview.appspot.com/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc File content/browser/renderer_host/media/audio_sync_reader.cc (right): https://chromiumcodereview.appspot.com/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc#newcode64 content/browser/renderer_host/media/audio_sync_reader.cc:64: if (!DataReady()) { Please don't add this. At one ...
8 years, 3 months ago (2012-08-29 04:59:17 UTC) #12
DaleCurtis
http://codereview.chromium.org/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc File content/browser/renderer_host/media/audio_sync_reader.cc (right): http://codereview.chromium.org/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc#newcode64 content/browser/renderer_host/media/audio_sync_reader.cc:64: if (!DataReady()) { On 2012/08/29 04:59:17, Chris Rogers wrote: ...
8 years, 3 months ago (2012-08-29 05:17:56 UTC) #13
DaleCurtis
http://codereview.chromium.org/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc File content/browser/renderer_host/media/audio_sync_reader.cc (right): http://codereview.chromium.org/10832285/diff/33003/content/browser/renderer_host/media/audio_sync_reader.cc#newcode64 content/browser/renderer_host/media/audio_sync_reader.cc:64: if (!DataReady()) { On 2012/08/29 05:17:57, DaleCurtis wrote: > ...
8 years, 3 months ago (2012-08-29 17:03:42 UTC) #14
nfullagar
http://codereview.chromium.org/10832285/diff/33003/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc File ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc (right): http://codereview.chromium.org/10832285/diff/33003/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc#newcode117 ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc:117: audio->audio_bus_->channels()); Perhaps cleaner if AudioBus had a member func ...
8 years, 3 months ago (2012-08-29 18:38:22 UTC) #15
DaleCurtis
http://codereview.chromium.org/10832285/diff/33003/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc File ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc (right): http://codereview.chromium.org/10832285/diff/33003/ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc#newcode117 ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc:117: audio->audio_bus_->channels()); On 2012/08/29 18:38:22, nfullagar wrote: > Perhaps cleaner ...
8 years, 3 months ago (2012-08-29 18:52:22 UTC) #16
DaleCurtis
Discussed with cevans who pointed me to jschuh who didn't have any unique concerns regarding ...
8 years, 3 months ago (2012-08-30 00:28:04 UTC) #17
nfullagar
> > nfullagar: Regarding fuzzing, aside from ClusterFuzz what kind of fuzzing does > NaCl ...
8 years, 3 months ago (2012-09-04 20:35:19 UTC) #18
nfullagar
lgtm
8 years, 3 months ago (2012-09-04 20:46:32 UTC) #19
brettw
lgtm http://codereview.chromium.org/10832285/diff/60002/ppapi/shared_impl/ppb_audio_shared.cc File ppapi/shared_impl/ppb_audio_shared.cc (right): http://codereview.chromium.org/10832285/diff/60002/ppapi/shared_impl/ppb_audio_shared.cc#newcode12 ppapi/shared_impl/ppb_audio_shared.cc:12: // TODO(???): PPAPI shouldn't hard code these values ...
8 years, 3 months ago (2012-09-04 21:40:53 UTC) #20
DaleCurtis
http://codereview.chromium.org/10832285/diff/60002/ppapi/shared_impl/ppb_audio_shared.cc File ppapi/shared_impl/ppb_audio_shared.cc (right): http://codereview.chromium.org/10832285/diff/60002/ppapi/shared_impl/ppb_audio_shared.cc#newcode12 ppapi/shared_impl/ppb_audio_shared.cc:12: // TODO(???): PPAPI shouldn't hard code these values for ...
8 years, 3 months ago (2012-09-05 09:12:41 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/10832285/59006
8 years, 3 months ago (2012-09-05 09:12:56 UTC) #22
commit-bot: I haz the power
Change committed as 154951
8 years, 3 months ago (2012-09-05 13:39:24 UTC) #23
scherkus (not reviewing)
8 years, 3 months ago (2012-09-05 15:06:49 UTC) #24
On 2012/09/05 13:39:24, I haz the power (commit-bot) wrote:
> Change committed as 154951

\o/

Powered by Google App Engine
This is Rietveld 408576698