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

Issue 1894373002: Reland: Pass task runners to AudioManager constructor. (Closed)

Created:
4 years, 8 months ago by alokp
Modified:
4 years, 8 months ago
Reviewers:
CC:
chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, mcasas+watch+vc_chromium.org, imcheng+watch_chromium.org, Aaron Boodman, posciak+watch_chromium.org, avayvod+watch_chromium.org, lcwu+watch_chromium.org, viettrungluu+watch_chromium.org, jam, yzshen+watch_chromium.org, abarth-chromium, feature-media-reviews_chromium.org, darin-cc_chromium.org, halliwell+watch_chromium.org, jasonroberts+watch_google.com, xjz+watch_chromium.org, ben+mojo_chromium.org, isheriff+watch_chromium.org, mlamouri+watch-media_chromium.org, miu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Pass task runners to AudioManager constructor. This patch replaces the internal AudioManagerBase::audio_thread with an external task runner. The old implementation made it harder to test and override the internal audio thread. AudioManagerBase::Shutdown had to complete on the audio thread before the AudioManager instance could be deleted. It relied on Thread::Stop on the main thread to wait for the audio thread to shutdown. A subclass using a different thread shared with other modules could not do that. Passing a task runner into AudioManager and making GetTaskRunner non-virtual ensures that the task runner will not change for the lifetime of AudioManager instance. BUG=594234 TBR=rkc,tommi,xhwang,jam,dalecurtis Committed: https://crrev.com/1f4996786dd7ab2e5d7f51c72f9309ee50aeb176 Cr-Commit-Position: refs/heads/master@{#388211}

Patch Set 1 #

Patch Set 2 : fix data race #

Patch Set 3 : formatting #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1076 lines, -1076 lines) Patch
M chromecast/media/audio/cast_audio_manager.h View 2 chunks +8 lines, -3 lines 0 comments Download
M chromecast/media/audio/cast_audio_manager.cc View 1 chunk +9 lines, -4 lines 0 comments Download
M chromecast/media/audio/cast_audio_manager_factory.h View 1 chunk +4 lines, -2 lines 0 comments Download
M chromecast/media/audio/cast_audio_manager_factory.cc View 1 chunk +8 lines, -2 lines 0 comments Download
M chromecast/media/audio/cast_audio_output_stream_unittest.cc View 11 chunks +39 lines, -82 lines 0 comments Download
M components/audio_modem/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M components/audio_modem/audio_player_impl.h View 1 chunk +0 lines, -4 lines 0 comments Download
M components/audio_modem/audio_player_impl.cc View 2 chunks +1 line, -18 lines 0 comments Download
M components/audio_modem/audio_player_unittest.cc View 7 chunks +17 lines, -9 lines 0 comments Download
M components/audio_modem/audio_recorder_impl.h View 1 chunk +0 lines, -4 lines 0 comments Download
M components/audio_modem/audio_recorder_impl.cc View 1 chunk +0 lines, -16 lines 0 comments Download
M components/audio_modem/audio_recorder_unittest.cc View 8 chunks +16 lines, -6 lines 0 comments Download
M content/browser/browser_main_loop.h View 4 chunks +5 lines, -2 lines 0 comments Download
M content/browser/browser_main_loop.cc View 3 chunks +31 lines, -3 lines 0 comments Download
M content/browser/renderer_host/media/audio_input_device_manager_unittest.cc View 14 chunks +23 lines, -30 lines 0 comments Download
M content/browser/renderer_host/media/audio_output_device_enumerator.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/media/audio_output_device_enumerator_unittest.cc View 4 chunks +10 lines, -9 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc View 2 chunks +5 lines, -4 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_manager.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/media/media_stream_manager_unittest.cc View 5 chunks +13 lines, -11 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_host_unittest.cc View 2 chunks +5 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/speech/speech_recognizer_impl_unittest.cc View 4 chunks +4 lines, -7 lines 0 comments Download
M media/audio/alsa/alsa_output_unittest.cc View 5 chunks +11 lines, -10 lines 0 comments Download
M media/audio/alsa/audio_manager_alsa.h View 1 chunk +4 lines, -1 line 0 comments Download
M media/audio/alsa/audio_manager_alsa.cc View 1 chunk +7 lines, -2 lines 0 comments Download
M media/audio/android/audio_android_unittest.cc View 2 chunks +8 lines, -3 lines 0 comments Download
M media/audio/android/audio_manager_android.h View 2 chunks +4 lines, -2 lines 0 comments Download
M media/audio/android/audio_manager_android.cc View 3 chunks +22 lines, -19 lines 0 comments Download
M media/audio/audio_input_controller_unittest.cc View 6 chunks +21 lines, -32 lines 0 comments Download
M media/audio/audio_input_unittest.cc View 4 chunks +16 lines, -33 lines 0 comments Download
M media/audio/audio_low_latency_input_output_unittest.cc View 2 chunks +5 lines, -5 lines 0 comments Download
M media/audio/audio_manager.h View 6 chunks +54 lines, -19 lines 0 comments Download
M media/audio/audio_manager.cc View 1 2 7 chunks +116 lines, -65 lines 0 comments Download
M media/audio/audio_manager_base.h View 4 chunks +8 lines, -13 lines 0 comments Download
M media/audio/audio_manager_base.cc View 3 chunks +12 lines, -47 lines 0 comments Download
M media/audio/audio_manager_factory.h View 2 chunks +11 lines, -1 line 0 comments Download
M media/audio/audio_manager_factory_unittest.cc View 3 chunks +28 lines, -17 lines 0 comments Download
M media/audio/audio_manager_unittest.cc View 9 chunks +63 lines, -73 lines 0 comments Download
M media/audio/audio_output_controller_unittest.cc View 10 chunks +27 lines, -105 lines 0 comments Download
M media/audio/audio_output_proxy_unittest.cc View 3 chunks +6 lines, -8 lines 0 comments Download
M media/audio/cras/audio_manager_cras.h View 1 chunk +4 lines, -1 line 0 comments Download
M media/audio/cras/audio_manager_cras.cc View 1 chunk +7 lines, -2 lines 0 comments Download
M media/audio/cras/cras_input_unittest.cc View 4 chunks +13 lines, -4 lines 0 comments Download
M media/audio/cras/cras_unified_unittest.cc View 4 chunks +12 lines, -4 lines 0 comments Download
M media/audio/fake_audio_manager.h View 1 chunk +4 lines, -1 line 0 comments Download
M media/audio/fake_audio_manager.cc View 1 chunk +10 lines, -2 lines 0 comments Download
M media/audio/linux/audio_manager_linux.cc View 3 chunks +24 lines, -8 lines 0 comments Download
M media/audio/mac/audio_auhal_mac_unittest.cc View 3 chunks +7 lines, -5 lines 0 comments Download
M media/audio/mac/audio_low_latency_input_mac_unittest.cc View 2 chunks +7 lines, -3 lines 0 comments Download
M media/audio/mac/audio_manager_mac.h View 4 chunks +9 lines, -9 lines 0 comments Download
M media/audio/mac/audio_manager_mac.cc View 8 chunks +26 lines, -78 lines 0 comments Download
M media/audio/mock_audio_manager.h View 3 chunks +4 lines, -15 lines 0 comments Download
M media/audio/mock_audio_manager.cc View 2 chunks +2 lines, -11 lines 0 comments Download
M media/audio/pulse/audio_manager_pulse.h View 2 chunks +8 lines, -4 lines 0 comments Download
M media/audio/pulse/audio_manager_pulse.cc View 3 chunks +17 lines, -14 lines 0 comments Download
M media/audio/sounds/audio_stream_handler_unittest.cc View 4 chunks +8 lines, -6 lines 0 comments Download
M media/audio/sounds/sounds_manager_unittest.cc View 3 chunks +8 lines, -7 lines 0 comments Download
M media/audio/win/audio_low_latency_input_win_unittest.cc View 9 chunks +52 lines, -45 lines 0 comments Download
M media/audio/win/audio_low_latency_output_win_unittest.cc View 15 chunks +71 lines, -69 lines 0 comments Download
M media/audio/win/audio_manager_win.h View 2 chunks +4 lines, -2 lines 0 comments Download
M media/audio/win/audio_manager_win.cc View 4 chunks +16 lines, -15 lines 0 comments Download
M media/audio/win/audio_output_win_unittest.cc View 15 chunks +96 lines, -81 lines 0 comments Download
M media/cast/test/receiver.cc View 2 chunks +5 lines, -4 lines 0 comments Download
M media/mojo/services/mojo_media_application.h View 1 chunk +1 line, -0 lines 0 comments Download
M media/mojo/services/mojo_media_application.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M media/mojo/services/mojo_media_client.h View 1 chunk +4 lines, -0 lines 0 comments Download
M media/mojo/services/mojo_media_client.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M media/mojo/services/test_mojo_media_client.h View 3 chunks +3 lines, -2 lines 0 comments Download
M media/mojo/services/test_mojo_media_client.cc View 3 chunks +18 lines, -5 lines 0 comments Download

Messages

Total messages: 7 (4 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1894373002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1894373002/40001
4 years, 8 months ago (2016-04-19 14:08:21 UTC) #3
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 8 months ago (2016-04-19 15:26:39 UTC) #5
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:12:24 UTC) #7
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/1f4996786dd7ab2e5d7f51c72f9309ee50aeb176
Cr-Commit-Position: refs/heads/master@{#388211}

Powered by Google App Engine
This is Rietveld 408576698