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

Issue 11880009: Introduce AudioHardwareConfig for renderer side audio device info. (Closed)

Created:
7 years, 11 months ago by DaleCurtis
Modified:
7 years, 10 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, feature-media-reviews_chromium.org, justinlin
Visibility:
Public.

Description

Introduce AudioHardwareConfig for renderer side audio device info. As discussed, this creates a media::AudioHardwareConfig class lazily created, owned, and filled by RenderThreadImpl via a single synchronous IPC and updated via AudioMessageFilter. This change does not plumb part 2 where AudioRendererMixer recreates itself based on these device change updates. BUG=157216 TEST=New unittest. Device changes on Windows/Mac continue to work. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=180068

Patch Set 1 : Plumb. #

Total comments: 39

Patch Set 2 : Comments. Collapse! #

Total comments: 11

Patch Set 3 : Comments. #

Patch Set 4 : Forgot the .cc #

Patch Set 5 : Disconnect device change. #

Total comments: 2

Patch Set 6 : Style nits. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+400 lines, -319 lines) Patch
M content/browser/renderer_host/media/audio_renderer_host.h View 2 chunks +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host.cc View 2 chunks +24 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 chunk +3 lines, -4 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 2 chunks +9 lines, -23 lines 0 comments Download
M content/common/media/audio_messages.h View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 1 chunk +5 lines, -14 lines 0 comments Download
M content/content_renderer.gypi View 1 1 chunk +0 lines, -2 lines 0 comments Download
D content/renderer/media/audio_hardware.h View 1 chunk +0 lines, -40 lines 0 comments Download
D content/renderer/media/audio_hardware.cc View 1 chunk +0 lines, -76 lines 0 comments Download
M content/renderer/media/audio_message_filter.h View 1 4 chunks +20 lines, -9 lines 0 comments Download
M content/renderer/media/audio_message_filter.cc View 1 2 6 chunks +28 lines, -6 lines 0 comments Download
M content/renderer/media/audio_renderer_mixer_manager.h View 1 2 3 chunks +7 lines, -4 lines 0 comments Download
M content/renderer/media/audio_renderer_mixer_manager.cc View 3 chunks +6 lines, -6 lines 0 comments Download
M content/renderer/media/audio_renderer_mixer_manager_unittest.cc View 1 3 chunks +6 lines, -2 lines 0 comments Download
M content/renderer/media/webrtc_audio_capturer.cc View 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/media/webrtc_audio_device_impl.cc View 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/media/webrtc_audio_device_unittest.cc View 1 10 chunks +33 lines, -62 lines 0 comments Download
M content/renderer/media/webrtc_audio_renderer.cc View 1 3 chunks +11 lines, -8 lines 0 comments Download
M content/renderer/pepper/pepper_platform_audio_output_impl.cc View 1 2 chunks +6 lines, -3 lines 0 comments Download
M content/renderer/pepper/pepper_plugin_delegate_impl.cc View 1 3 chunks +5 lines, -3 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 3 chunks +10 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 chunks +22 lines, -3 lines 0 comments Download
M content/renderer/renderer_webkitplatformsupport_impl.cc View 1 3 chunks +5 lines, -3 lines 0 comments Download
M content/test/webrtc_audio_device_test.h View 5 chunks +6 lines, -17 lines 0 comments Download
M content/test/webrtc_audio_device_test.cc View 6 chunks +17 lines, -31 lines 0 comments Download
M media/audio/audio_output_controller.h View 1 chunk +2 lines, -0 lines 0 comments Download
M media/audio/audio_output_controller.cc View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M media/audio/audio_output_controller_unittest.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
A media/base/audio_hardware_config.h View 1 2 1 chunk +50 lines, -0 lines 0 comments Download
A media/base/audio_hardware_config.cc View 1 2 3 1 chunk +53 lines, -0 lines 0 comments Download
A media/base/audio_hardware_config_unittest.cc View 1 2 1 chunk +50 lines, -0 lines 0 comments Download
M media/media.gyp View 1 2 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
DaleCurtis
Still diagnosing a crash on OSX, but this is the gist of it. If all ...
7 years, 10 months ago (2013-01-29 03:01:46 UTC) #1
miu
Nice work here. BTW--I'm not sure this will have any impact on tab-level mirroring since ...
7 years, 10 months ago (2013-01-29 04:55:43 UTC) #2
henrika (OOO until Aug 14)
Thanks Dale! I am not 100% convinced that you really need the lock in the ...
7 years, 10 months ago (2013-01-29 10:46:49 UTC) #3
DaleCurtis
(just comments) https://codereview.chromium.org/11880009/diff/2002/content/renderer/media/audio_message_filter.cc File content/renderer/media/audio_message_filter.cc (right): https://codereview.chromium.org/11880009/diff/2002/content/renderer/media/audio_message_filter.cc#newcode186 content/renderer/media/audio_message_filter.cc:186: if (MessageLoop::current() != ChildThread::current()->message_loop()) { On 2013/01/29 ...
7 years, 10 months ago (2013-01-29 19:36:00 UTC) #4
miu
Justin Lin filled me in on the design discussion over lunch today, so I think ...
7 years, 10 months ago (2013-01-29 22:04:34 UTC) #5
DaleCurtis
PTAL. This change collapses the interface and implementation of AudioHardwareConfig in favor of having RenderThreadImpl ...
7 years, 10 months ago (2013-01-30 01:31:05 UTC) #6
henrika (OOO until Aug 14)
https://codereview.chromium.org/11880009/diff/2002/content/renderer/media/renderer_audio_hardware_config.cc File content/renderer/media/renderer_audio_hardware_config.cc (right): https://codereview.chromium.org/11880009/diff/2002/content/renderer/media/renderer_audio_hardware_config.cc#newcode18 content/renderer/media/renderer_audio_hardware_config.cc:18: RenderThreadImpl::current()->Send(new ViewHostMsg_GetAudioHardwareConfig( I am just used to always making ...
7 years, 10 months ago (2013-01-30 10:10:06 UTC) #7
henrika (OOO until Aug 14)
Like the new version, especially the RenderThreadImpl::GetAudioHardwareConfig() parts. Nice, clean and much more easy to ...
7 years, 10 months ago (2013-01-30 10:27:58 UTC) #8
henrika (OOO until Aug 14)
https://codereview.chromium.org/11880009/diff/2007/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/11880009/diff/2007/content/renderer/render_thread_impl.cc#newcode920 content/renderer/render_thread_impl.cc:920: audio_message_filter_->SetAudioHardwareConfig(audio_hardware_config_.get()); Nice!
7 years, 10 months ago (2013-01-30 10:28:13 UTC) #9
miu
lgtm
7 years, 10 months ago (2013-01-30 21:22:23 UTC) #10
scherkus (not reviewing)
lgtm w/ nits + q https://codereview.chromium.org/11880009/diff/2007/content/renderer/media/audio_message_filter.cc File content/renderer/media/audio_message_filter.cc (right): https://codereview.chromium.org/11880009/diff/2007/content/renderer/media/audio_message_filter.cc#newcode187 content/renderer/media/audio_message_filter.cc:187: // If an audio ...
7 years, 10 months ago (2013-01-31 02:33:33 UTC) #11
miu
https://codereview.chromium.org/11880009/diff/2007/content/renderer/media/audio_renderer_mixer_manager.h File content/renderer/media/audio_renderer_mixer_manager.h (right): https://codereview.chromium.org/11880009/diff/2007/content/renderer/media/audio_renderer_mixer_manager.h#newcode40 content/renderer/media/audio_renderer_mixer_manager.h:40: AudioRendererMixerManager(media::AudioHardwareConfig* hardware_config); Drive-by comment: Add 'explicit' keyword here.
7 years, 10 months ago (2013-01-31 05:28:53 UTC) #12
DaleCurtis
Yuri: This patch set includes the change to AudioOutputController::OnDeviceChange we discussed yesterday. +jam for non-media ...
7 years, 10 months ago (2013-01-31 19:50:00 UTC) #13
Chris Evans
On 2013/01/31 19:50:00, DaleCurtis wrote: > Yuri: This patch set includes the change to > ...
7 years, 10 months ago (2013-01-31 19:57:33 UTC) #14
DaleCurtis
Whoops, cevans, apparently you aren't an owner for content/common/view_messages.h +jschuh for that one.
7 years, 10 months ago (2013-01-31 21:29:46 UTC) #15
jschuh
rubberstamp lgtm. blame it on cevans if it's broke. ;)
7 years, 10 months ago (2013-01-31 21:34:41 UTC) #16
miu
lgtm for audio_output_controller.cc change to not send change events on diverting start/stop.
7 years, 10 months ago (2013-01-31 22:28:08 UTC) #17
jam
lgtm https://codereview.chromium.org/11880009/diff/2012/content/common/view_messages.h File content/common/view_messages.h (right): https://codereview.chromium.org/11880009/diff/2012/content/common/view_messages.h#newcode727 content/common/view_messages.h:727: media::ChannelLayout /* input channel layout */) nit: here ...
7 years, 10 months ago (2013-02-01 00:21:33 UTC) #18
DaleCurtis
Thanks for review guys. CQ'ing. https://codereview.chromium.org/11880009/diff/2012/content/common/view_messages.h File content/common/view_messages.h (right): https://codereview.chromium.org/11880009/diff/2012/content/common/view_messages.h#newcode727 content/common/view_messages.h:727: media::ChannelLayout /* input channel ...
7 years, 10 months ago (2013-02-01 00:25:50 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/11880009/37001
7 years, 10 months ago (2013-02-01 00:43:32 UTC) #20
commit-bot: I haz the power
7 years, 10 months ago (2013-02-01 04:42:42 UTC) #21
Message was sent while issue was closed.
Change committed as 180068

Powered by Google App Engine
This is Rietveld 408576698