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

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

Created:
4 years, 9 months ago by alokp
Modified:
4 years, 8 months ago
CC:
chromium-reviews, feature-media-reviews_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

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 Committed: https://crrev.com/e05981bd06b4694b426990acd41be8ab6d9a1659 Cr-Commit-Position: refs/heads/master@{#388048}

Patch Set 1 #

Patch Set 2 : media_unittests pass on linux #

Patch Set 3 : cleanup #

Patch Set 4 : destroy AudioManagerPulse #

Total comments: 4

Patch Set 5 : Pass task runners into AudioManager::Create #

Total comments: 21

Patch Set 6 : scoped_refptr by value #

Patch Set 7 : implemented ScopedAudioManagerPtr #

Total comments: 23

Patch Set 8 : rebase #

Patch Set 9 : restore AudioManager::CreateForTesting #

Patch Set 10 : addressed comments #

Total comments: 10

Patch Set 11 : addressed more comments #

Patch Set 12 : rebase #

Patch Set 13 : updated AudioManager implementations #

Patch Set 14 : fix build attempt 1 #

Patch Set 15 : fix build attempt 2 #

Patch Set 16 : fix build attempt 3 #

Patch Set 17 : fix tests attempt 1 #

Patch Set 18 : fix tests attempt 2 #

Patch Set 19 : fix asan bot #

Patch Set 20 : rebase #

Patch Set 21 : fix android crash #

Patch Set 22 : rebase #

Patch Set 23 : fix media_unittests crash on android #

Patch Set 24 : rebase #

Total comments: 8

Patch Set 25 : rebase #

Patch Set 26 : removed AudioManagerBase::Shutdown #

Total comments: 8

Patch Set 27 : speculative hack to fix test timeouts #

Total comments: 3

Patch Set 28 : always DELETE_SOON #

Patch Set 29 : rebase #

Patch Set 30 : fix tests attempt 1 #

Patch Set 31 : fix tests attempt 2 #

Patch Set 32 : fix tests attempt 3 #

Patch Set 33 : restore AudioManagerBase::Shutdown and refactor tests #

Patch Set 34 : fixed destruction order in MediaStreamManager unittests #

Patch Set 35 : fixed windows compile error #

Patch Set 36 : fix windows compile error 2 #

Patch Set 37 : speculative fix (delete immediately) #

Patch Set 38 : rebase #

Patch Set 39 : rebase #

Patch Set 40 : make destructor protected #

Patch Set 41 : speculative fixes #

Patch Set 42 : rebase #

Patch Set 43 : added logging #

Patch Set 44 : fix timeouts #

Patch Set 45 : rebase #

Patch Set 46 : use TestMessageLoop #

Patch Set 47 : fix gn check #

Patch Set 48 : DCHECK -> CHECK #

Total comments: 11

Patch Set 49 : rebase #

Patch Set 50 : address comments from patch 48 #

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

Messages

Total messages: 69 (12 generated)
alokp
Dale: This is not ready to commit. I have updated the AudioManager interface to pass ...
4 years, 9 months ago (2016-03-17 23:09:00 UTC) #2
DaleCurtis
https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h File media/audio/audio_manager.h (right): https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h#newcode53 media/audio/audio_manager.h:53: static AudioManager* Create(AudioLogFactory* audio_log_factory); Hmm, I thought you were ...
4 years, 9 months ago (2016-03-18 00:19:10 UTC) #3
alokp
https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h File media/audio/audio_manager.h (right): https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h#newcode53 media/audio/audio_manager.h:53: static AudioManager* Create(AudioLogFactory* audio_log_factory); On 2016/03/18 00:19:10, DaleCurtis wrote: ...
4 years, 9 months ago (2016-03-18 00:35:19 UTC) #4
DaleCurtis
https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h File media/audio/audio_manager.h (right): https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h#newcode53 media/audio/audio_manager.h:53: static AudioManager* Create(AudioLogFactory* audio_log_factory); On 2016/03/18 at 00:35:19, alokp ...
4 years, 9 months ago (2016-03-18 00:40:41 UTC) #5
alokp
https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h File media/audio/audio_manager.h (right): https://codereview.chromium.org/1806313003/diff/60001/media/audio/audio_manager.h#newcode53 media/audio/audio_manager.h:53: static AudioManager* Create(AudioLogFactory* audio_log_factory); On 2016/03/18 00:40:41, DaleCurtis wrote: ...
4 years, 9 months ago (2016-03-18 06:46:52 UTC) #6
alokp
https://codereview.chromium.org/1806313003/diff/80001/media/audio/audio_manager.h File media/audio/audio_manager.h (right): https://codereview.chromium.org/1806313003/diff/80001/media/audio/audio_manager.h#newcode55 media/audio/audio_manager.h:55: // The manager will use |task_runner| for audio IO. ...
4 years, 9 months ago (2016-03-18 16:27:26 UTC) #7
DaleCurtis
Looking good! I'd like a second set of eyes on this one so +tommi to ...
4 years, 9 months ago (2016-03-18 17:48:19 UTC) #9
alokp
https://codereview.chromium.org/1806313003/diff/80001/content/browser/browser_main_loop.cc File content/browser/browser_main_loop.cc (right): https://codereview.chromium.org/1806313003/diff/80001/content/browser/browser_main_loop.cc#newcode1049 content/browser/browser_main_loop.cc:1049: // Destroy audio_manager_ on audio thread. On 2016/03/18 17:48:18, ...
4 years, 9 months ago (2016-03-18 18:40:07 UTC) #10
DaleCurtis
https://codereview.chromium.org/1806313003/diff/80001/media/audio/audio_manager.h File media/audio/audio_manager.h (left): https://codereview.chromium.org/1806313003/diff/80001/media/audio/audio_manager.h#oldcode62 media/audio/audio_manager.h:62: static AudioManager* CreateForTesting(); On 2016/03/18 at 18:40:07, alokp wrote: ...
4 years, 9 months ago (2016-03-18 20:11:49 UTC) #11
tommi (sloooow) - chröme
Can you update the description with a little more information on why the change is ...
4 years, 9 months ago (2016-03-19 02:32:42 UTC) #12
DaleCurtis
A recent chromium thread decided that scoped_refptr should be passed by value now that we ...
4 years, 9 months ago (2016-03-19 17:15:38 UTC) #13
tommi (sloooow) - chröme
On 2016/03/19 17:15:38, DaleCurtis wrote: > A recent chromium thread decided that scoped_refptr should be ...
4 years, 9 months ago (2016-03-19 17:48:25 UTC) #14
tommi (sloooow) - chröme
On 2016/03/19 17:48:25, tommi-chromium wrote: > On 2016/03/19 17:15:38, DaleCurtis wrote: > > A recent ...
4 years, 9 months ago (2016-03-19 17:51:31 UTC) #15
DaleCurtis
On 2016/03/19 at 17:51:31, tommi wrote: > On 2016/03/19 17:48:25, tommi-chromium wrote: > > On ...
4 years, 9 months ago (2016-03-21 16:54:18 UTC) #16
alokp
I think I have addressed all the comments. I still need to update non-linux implementations. ...
4 years, 9 months ago (2016-03-22 21:47:07 UTC) #18
DaleCurtis
Nice cleanup. It's a little unfortunate some logic moves into BML, but it does simplify ...
4 years, 9 months ago (2016-03-22 21:58:27 UTC) #19
alokp
OK to update mac and win? https://codereview.chromium.org/1806313003/diff/180001/content/browser/browser_main_loop.cc File content/browser/browser_main_loop.cc (right): https://codereview.chromium.org/1806313003/diff/180001/content/browser/browser_main_loop.cc#newcode1234 content/browser/browser_main_loop.cc:1234: CHECK(audio_thread_->Start()); On 2016/03/22 ...
4 years, 9 months ago (2016-03-22 22:23:39 UTC) #20
alokp
Ping! If the interface looks reasonable, I would like to go ahead and update various ...
4 years, 9 months ago (2016-03-24 17:42:58 UTC) #21
DaleCurtis
Whoops, thought I posted already, yes go ahead to update. Though I'm still not sold ...
4 years, 9 months ago (2016-03-24 17:45:08 UTC) #22
alokp
On 2016/03/24 17:45:08, DaleCurtis wrote: > Whoops, thought I posted already, yes go ahead to ...
4 years, 9 months ago (2016-03-25 16:54:25 UTC) #23
DaleCurtis
On 2016/03/25 at 16:54:25, alokp wrote: > On 2016/03/24 17:45:08, DaleCurtis wrote: > > Whoops, ...
4 years, 9 months ago (2016-03-25 22:18:16 UTC) #24
alokp
Dale: I have updated all unittests and they pass on all platforms. I do not ...
4 years, 8 months ago (2016-03-28 23:35:05 UTC) #25
DaleCurtis
Hmm, nothing stands out in the crashes. You'll have to try and get a local ...
4 years, 8 months ago (2016-03-29 20:07:55 UTC) #26
DaleCurtis
On 2016/03/29 at 20:07:55, DaleCurtis wrote: > Hmm, nothing stands out in the crashes. You'll ...
4 years, 8 months ago (2016-03-30 02:03:32 UTC) #27
DaleCurtis
On 2016/03/30 at 02:03:32, DaleCurtis wrote: > On 2016/03/29 at 20:07:55, DaleCurtis wrote: > > ...
4 years, 8 months ago (2016-03-30 02:04:06 UTC) #28
alokp
phew, a green try run finally! Dale: PTAL The unittests can be further simplified with ...
4 years, 8 months ago (2016-03-31 20:22:19 UTC) #29
miu
On 2016/03/31 20:22:19, alokp wrote: > The unittests can be further simplified with the assumption ...
4 years, 8 months ago (2016-03-31 22:42:57 UTC) #30
DaleCurtis
Overall this lg2m but want to take another look over it tomorrow with fresher eyes. ...
4 years, 8 months ago (2016-03-31 22:55:54 UTC) #31
alokp
On 2016/03/31 22:42:57, miu wrote: > On 2016/03/31 20:22:19, alokp wrote: > > The unittests ...
4 years, 8 months ago (2016-04-01 02:45:09 UTC) #32
alokp
https://codereview.chromium.org/1806313003/diff/460001/media/audio/win/audio_output_win_unittest.cc File media/audio/win/audio_output_win_unittest.cc (right): https://codereview.chromium.org/1806313003/diff/460001/media/audio/win/audio_output_win_unittest.cc#newcode156 media/audio/win/audio_output_win_unittest.cc:156: TEST(WinAudioTest, PCMWaveStreamGetAndClose) { On 2016/03/31 22:55:54, DaleCurtis wrote: > ...
4 years, 8 months ago (2016-04-01 03:40:53 UTC) #33
alokp
friendly ping!
4 years, 8 months ago (2016-04-04 18:06:47 UTC) #34
DaleCurtis
Sorry will get to this tomorrow. No fresh eyes today :(
4 years, 8 months ago (2016-04-04 18:17:45 UTC) #35
DaleCurtis
Seems unnecessary to even have a Shutdown() method now. Instead should we just move the ...
4 years, 8 months ago (2016-04-05 21:55:36 UTC) #36
alokp
I think we can get rid of AudioManagerBase::Shutdown except in the case of AudioManagerPulse. https://codereview.chromium.org/1806313003/diff/460001/media/audio/android/audio_manager_android.cc ...
4 years, 8 months ago (2016-04-05 23:57:40 UTC) #37
DaleCurtis
https://codereview.chromium.org/1806313003/diff/460001/media/audio/pulse/audio_manager_pulse.cc File media/audio/pulse/audio_manager_pulse.cc (right): https://codereview.chromium.org/1806313003/diff/460001/media/audio/pulse/audio_manager_pulse.cc#newcode69 media/audio/pulse/audio_manager_pulse.cc:69: DestroyPulse(); On 2016/04/05 at 23:57:40, alokp wrote: > I ...
4 years, 8 months ago (2016-04-06 01:22:29 UTC) #38
alokp
https://codereview.chromium.org/1806313003/diff/460001/media/audio/pulse/audio_manager_pulse.cc File media/audio/pulse/audio_manager_pulse.cc (right): https://codereview.chromium.org/1806313003/diff/460001/media/audio/pulse/audio_manager_pulse.cc#newcode69 media/audio/pulse/audio_manager_pulse.cc:69: DestroyPulse(); On 2016/04/06 01:22:29, DaleCurtis wrote: > On 2016/04/05 ...
4 years, 8 months ago (2016-04-06 02:03:44 UTC) #39
alokp
AudioManagerBase::Shutdown is gone. PTAL.
4 years, 8 months ago (2016-04-06 06:14:53 UTC) #41
DaleCurtis
https://codereview.chromium.org/1806313003/diff/500001/media/audio/android/audio_manager_android.cc File media/audio/android/audio_manager_android.cc (right): https://codereview.chromium.org/1806313003/diff/500001/media/audio/android/audio_manager_android.cc#newcode81 media/audio/android/audio_manager_android.cc:81: DCHECK(GetTaskRunner()->BelongsToCurrentThread()); Hmm, this might be a bit dicy in ...
4 years, 8 months ago (2016-04-06 22:07:50 UTC) #42
alokp
I am now always posting a task to delete audio manager. I am sure it ...
4 years, 8 months ago (2016-04-07 00:38:10 UTC) #43
tommi (sloooow) - chröme
thanks for the update. one comment to consider while you're iterating https://codereview.chromium.org/1806313003/diff/500001/media/audio/android/audio_manager_android.cc File media/audio/android/audio_manager_android.cc (right): ...
4 years, 8 months ago (2016-04-07 14:33:40 UTC) #44
DaleCurtis
https://codereview.chromium.org/1806313003/diff/500001/media/audio/android/audio_manager_android.cc File media/audio/android/audio_manager_android.cc (right): https://codereview.chromium.org/1806313003/diff/500001/media/audio/android/audio_manager_android.cc#newcode81 media/audio/android/audio_manager_android.cc:81: DCHECK(GetTaskRunner()->BelongsToCurrentThread()); On 2016/04/07 at 14:33:40, tommi-sloooow wrote: > On ...
4 years, 8 months ago (2016-04-07 17:23:09 UTC) #45
alokp
I have addressed the remaining comments. - Always DeleteSoon to destroy AudioManager instance. Used TestMessageLoop ...
4 years, 8 months ago (2016-04-12 23:02:14 UTC) #46
tommi (sloooow) - chröme
lgtm. Some minor suggestions below. https://codereview.chromium.org/1806313003/diff/940001/chromecast/media/audio/cast_audio_manager_factory.cc File chromecast/media/audio/cast_audio_manager_factory.cc (right): https://codereview.chromium.org/1806313003/diff/940001/chromecast/media/audio/cast_audio_manager_factory.cc#newcode20 chromecast/media/audio/cast_audio_manager_factory.cc:20: scoped_ptr<::media::AudioManager, ::media::AudioManagerDeleter> nit: if ...
4 years, 8 months ago (2016-04-13 07:31:51 UTC) #47
DaleCurtis
+xhwang for media/mojo lgtm otherwise, good luck with the tree. You might want to wait ...
4 years, 8 months ago (2016-04-14 00:00:35 UTC) #49
DaleCurtis
Also, thanks again for this refactoring. It cleans up a lot of cruft. I'm sad ...
4 years, 8 months ago (2016-04-14 00:01:04 UTC) #50
xhwang
mojo/media lgtm
4 years, 8 months ago (2016-04-14 00:05:59 UTC) #51
xhwang
sorry, I meant media/mojo lgtm :)
4 years, 8 months ago (2016-04-14 00:06:30 UTC) #52
alokp
https://codereview.chromium.org/1806313003/diff/940001/media/audio/mac/audio_manager_mac.h File media/audio/mac/audio_manager_mac.h (right): https://codereview.chromium.org/1806313003/diff/940001/media/audio/mac/audio_manager_mac.h#newcode142 media/audio/mac/audio_manager_mac.h:142: // TODO(alokp): We used to track these streams to ...
4 years, 8 months ago (2016-04-14 13:30:03 UTC) #53
DaleCurtis
Ah, didn't realize they had other uses these days. Lgtm
4 years, 8 months ago (2016-04-14 15:35:48 UTC) #54
DaleCurtis
Ah, didn't realize they had other uses these days. Lgtm
4 years, 8 months ago (2016-04-14 15:35:52 UTC) #55
alokp
jam: content/ rkc: components/audio_modem/ https://codereview.chromium.org/1806313003/diff/940001/chromecast/media/audio/cast_audio_manager_factory.cc File chromecast/media/audio/cast_audio_manager_factory.cc (right): https://codereview.chromium.org/1806313003/diff/940001/chromecast/media/audio/cast_audio_manager_factory.cc#newcode20 chromecast/media/audio/cast_audio_manager_factory.cc:20: scoped_ptr<::media::AudioManager, ::media::AudioManagerDeleter> On 2016/04/13 07:31:51, ...
4 years, 8 months ago (2016-04-17 16:55:19 UTC) #58
rkc
components/audio_modem lgtm +ckehoe fyi
4 years, 8 months ago (2016-04-17 20:20:06 UTC) #60
jam
lgtm
4 years, 8 months ago (2016-04-18 19:04:07 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1806313003/980001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1806313003/980001
4 years, 8 months ago (2016-04-18 20:54:13 UTC) #64
commit-bot: I haz the power
Committed patchset #50 (id:980001)
4 years, 8 months ago (2016-04-18 22:24:19 UTC) #66
commit-bot: I haz the power
Patchset 50 (id:??) landed as https://crrev.com/e05981bd06b4694b426990acd41be8ab6d9a1659 Cr-Commit-Position: refs/heads/master@{#388048}
4 years, 8 months ago (2016-04-18 22:25:41 UTC) #68
Jeffrey Yasskin
4 years, 8 months ago (2016-04-19 00:38:48 UTC) #69
Message was sent while issue was closed.
A revert of this CL (patchset #50 id:980001) has been created in
https://codereview.chromium.org/1901583005/ by jyasskin@chromium.org.

The reason for reverting is: Broke TSan:
https://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20TSan%20Test...

WARNING: ThreadSanitizer: data race (pid=25863)
  Write of size 8 at 0x0000081b8060 by main thread:
    #0 media::AudioManagerDeleter::operator()(media::AudioManager const*) const
media/audio/audio_manager.cc:264:20 (content_browsertests+0x000001e77078)
    #1 reset buildtools/third_party/libc++/trunk/include/memory:2735:13
(content_browsertests+0x000004e5f2af)
    #2 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2703
(content_browsertests+0x000004e5f2af)
    #3 content::BrowserMainLoop::~BrowserMainLoop()
content/browser/browser_main_loop.cc:428 (content_browsertests+0x000004e5f2af)
    #4 content::BrowserMainLoop::~BrowserMainLoop()
content/browser/browser_main_loop.cc:424:37
(content_browsertests+0x000004e5f779)
    #5 operator() buildtools/third_party/libc++/trunk/include/memory:2529:13
(content_browsertests+0x000004e68120)
    #6 reset buildtools/third_party/libc++/trunk/include/memory:2735
(content_browsertests+0x000004e68120)
    #7 content::BrowserMainRunnerImpl::Shutdown()
content/browser/browser_main_runner.cc:223 (content_browsertests+0x000004e68120)
    #8 ShellBrowserMain(content::MainFunctionParams const&,
std::__1::unique_ptr<content::BrowserMainRunner,
std::__1::default_delete<content::BrowserMainRunner> > const&)
content/shell/browser/shell_browser_main.cc:33:3
(content_browsertests+0x000000c97ce7)
    #9 content::ShellMainDelegate::RunProcess(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
content::MainFunctionParams const&)
content/shell/app/shell_main_delegate.cc:288:16
(content_browsertests+0x000000c8bec4)
    #10 content::RunNamedProcessTypeMain(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
content::MainFunctionParams const&, content::ContentMainDelegate*)
content/app/content_main_runner.cc:368:25 (content_browsertests+0x000005558812)
    #11 content::ContentMainRunnerImpl::Run()
content/app/content_main_runner.cc:742:12 (content_browsertests+0x000005559511)
    #12 content::ContentMain(content::ContentMainParams const&)
content/app/content_main.cc:20:15 (content_browsertests+0x00000555797e)
    #13 content::BrowserTestBase::SetUp()
content/public/test/browser_test_base.cc:287:3
(content_browsertests+0x000000c55601)
    #14 content::ContentBrowserTest::SetUp()
content/public/test/content_browser_test.cc:92:3
(content_browsertests+0x000000c5e8e6)
    #15 SetUp
content/browser/renderer_host/render_widget_host_view_browsertest.cc:221:5
(content_browsertests+0x000000739618)
    #16 content::(anonymous
namespace)::CompositingRenderWidgetHostViewBrowserTestTabCapture::SetUp()
content/browser/renderer_host/render_widget_host_view_browsertest.cc:403
(content_browsertests+0x000000739618)
    #17 HandleExceptionsInMethodIfSupported<testing::Test, void>
testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x000000f3168d)
    #18 testing::Test::Run() testing/gtest/src/gtest.cc:2470
(content_browsertests+0x000000f3168d)
    #19 testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:5
(content_browsertests+0x000000f32833)
    #20 testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:5
(content_browsertests+0x000000f33118)
    #21 testing::internal::UnitTestImpl::RunAllTests()
testing/gtest/src/gtest.cc:4647:11 (content_browsertests+0x000000f3c562)
    #22 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x000000f3bfc6)
    #23 testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255
(content_browsertests+0x000000f3bfc6)
    #24 RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:10
(content_browsertests+0x000000d209eb)
    #25 base::TestSuite::Run() base/test/test_suite.cc:230
(content_browsertests+0x000000d209eb)
    #26 content::ContentTestLauncherDelegate::RunTestSuite(int, char**)
content/test/content_test_launcher.cc:105:12
(content_browsertests+0x000000c677db)
    #27 content::LaunchTests(content::TestLauncherDelegate*, int, int, char**)
content/public/test/test_launcher.cc:517:12
(content_browsertests+0x000000cfb2fc)
    #28 main content/test/content_test_launcher.cc:131:10
(content_browsertests+0x000000c67762)

  Previous read of size 8 at 0x0000081b8060 by thread T15:
    #0 media::(anonymous
namespace)::AudioManagerHelper::UpdateLastAudioThreadTimeTick()
media/audio/audio_manager.cc:179:5 (content_browsertests+0x000001e77986)
    #1 Run<> base/bind_internal.h:181:12 (content_browsertests+0x000001e77df2)
    #2 MakeItSo<media::(anonymous namespace)::AudioManagerHelper *>
base/bind_internal.h:321 (content_browsertests+0x000001e77df2)
    #3 base::internal::Invoker<base::IndexSequence<0ul>,
base::internal::BindState<base::internal::RunnableAdapter<void
(media::(anonymous namespace)::AudioManagerHelper::*)()>, void
(media::(anonymous namespace)::AudioManagerHelper*),
base::internal::UnretainedWrapper<media::(anonymous
namespace)::AudioManagerHelper> >, base::internal::InvokeHelper<false, void,
base::internal::RunnableAdapter<void (media::(anonymous
namespace)::AudioManagerHelper::*)()> >, void
()>::Run(base::internal::BindStateBase*) base/bind_internal.h:372
(content_browsertests+0x000001e77df2)
    #4 Run base/callback.h:397:12 (content_browsertests+0x00000111aa7d)
    #5 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask
const&) base/debug/task_annotator.cc:51 (content_browsertests+0x00000111aa7d)
    #6 base::MessageLoop::RunTask(base::PendingTask const&)
base/message_loop/message_loop.cc:479:3 (content_browsertests+0x0000010958e6)
    #7 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)
base/message_loop/message_loop.cc:488:5 (content_browsertests+0x000001095ecd)
    #8 base::MessageLoop::DoDelayedWork(base::TimeTicks*)
base/message_loop/message_loop.cc:638:10 (content_browsertests+0x00000109662a)
    #9 base::MessagePumpDefault::Run(base::MessagePump::Delegate*)
base/message_loop/message_pump_default.cc:37:17
(content_browsertests+0x000001099875)
    #10 base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:443:3
(content_browsertests+0x00000109528b)
    #11 base::RunLoop::Run() base/run_loop.cc:35:3
(content_browsertests+0x0000010b5cc6)
    #12 base::MessageLoop::Run() base/message_loop/message_loop.cc:295:3
(content_browsertests+0x000001094a95)
    #13 base::Thread::Run(base::MessageLoop*) base/threading/thread.cc:202:3
(content_browsertests+0x0000010de279)
    #14 base::Thread::ThreadMain() base/threading/thread.cc:254:3
(content_browsertests+0x0000010de449)
    #15 base::(anonymous namespace)::ThreadFunc(void*)
base/threading/platform_thread_posix.cc:70:3
(content_browsertests+0x0000010d88bd)

  Location is global 'media::(anonymous namespace)::g_last_created' of size 8 at
0x0000081b8060 (content_browsertests+0x0000081b8060)

  Thread T15 'AudioThread' (tid=25884, running) created by main thread at:
    #0 pthread_create <null> (content_browsertests+0x0000004a15c5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool,
base::PlatformThread::Delegate*, base::PlatformThreadHandle*,
base::ThreadPriority) base/threading/platform_thread_posix.cc:109:13
(content_browsertests+0x0000010d860a)
    #2 base::PlatformThread::CreateWithPriority(unsigned long,
base::PlatformThread::Delegate*, base::PlatformThreadHandle*,
base::ThreadPriority) base/threading/platform_thread_posix.cc:190:10
(content_browsertests+0x0000010d8515)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&)
base/threading/thread.cc:116:10 (content_browsertests+0x0000010ddfa0)
    #4 base::Thread::Start() base/threading/thread.cc:86:10
(content_browsertests+0x0000010ddde4)
    #5 content::BrowserMainLoop::CreateAudioManager()
content/browser/browser_main_loop.cc:1468:3
(content_browsertests+0x000004e665c6)
    #6 content::BrowserMainLoop::BrowserThreadsStarted()
content/browser/browser_main_loop.cc:1228:5
(content_browsertests+0x000004e633b5)
    #7 Run<> base/bind_internal.h:181:12 (content_browsertests+0x000004e67612)
    #8 MakeItSo<content::BrowserMainLoop *> base/bind_internal.h:313
(content_browsertests+0x000004e67612)
    #9 base::internal::Invoker<base::IndexSequence<0ul>,
base::internal::BindState<base::internal::RunnableAdapter<int
(content::BrowserMainLoop::*)()>, int (content::BrowserMainLoop*),
base::internal::UnretainedWrapper<content::BrowserMainLoop> >,
base::internal::InvokeHelper<false, int, base::internal::RunnableAdapter<int
(content::BrowserMainLoop::*)()> >, int ()>::Run(base::internal::BindStateBase*)
base/bind_internal.h:372 (content_browsertests+0x000004e67612)
    #10 Run base/callback.h:397:12 (content_browsertests+0x0000050dd941)
    #11 content::StartupTaskRunner::RunAllTasksNow()
content/browser/startup_task_runner.cc:45 (content_browsertests+0x0000050dd941)
    #12 content::BrowserMainLoop::CreateStartupTasks()
content/browser/browser_main_loop.cc:803:3 (content_browsertests+0x000004e622db)
    #13 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams
const&) content/browser/browser_main_runner.cc:139:5
(content_browsertests+0x000004e67c63)
    #14 ShellBrowserMain(content::MainFunctionParams const&,
std::__1::unique_ptr<content::BrowserMainRunner,
std::__1::default_delete<content::BrowserMainRunner> > const&)
content/shell/browser/shell_browser_main.cc:23:19
(content_browsertests+0x000000c97ca7)
    #15 content::ShellMainDelegate::RunProcess(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
content::MainFunctionParams const&)
content/shell/app/shell_main_delegate.cc:288:16
(content_browsertests+0x000000c8bec4)
    #16 content::RunNamedProcessTypeMain(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
content::MainFunctionParams const&, content::ContentMainDelegate*)
content/app/content_main_runner.cc:368:25 (content_browsertests+0x000005558812)
    #17 content::ContentMainRunnerImpl::Run()
content/app/content_main_runner.cc:742:12 (content_browsertests+0x000005559511)
    #18 content::ContentMain(content::ContentMainParams const&)
content/app/content_main.cc:20:15 (content_browsertests+0x00000555797e)
    #19 content::BrowserTestBase::SetUp()
content/public/test/browser_test_base.cc:287:3
(content_browsertests+0x000000c55601)
    #20 content::ContentBrowserTest::SetUp()
content/public/test/content_browser_test.cc:92:3
(content_browsertests+0x000000c5e8e6)
    #21 SetUp
content/browser/renderer_host/render_widget_host_view_browsertest.cc:221:5
(content_browsertests+0x000000739618)
    #22 content::(anonymous
namespace)::CompositingRenderWidgetHostViewBrowserTestTabCapture::SetUp()
content/browser/renderer_host/render_widget_host_view_browsertest.cc:403
(content_browsertests+0x000000739618)
    #23 HandleExceptionsInMethodIfSupported<testing::Test, void>
testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x000000f3168d)
    #24 testing::Test::Run() testing/gtest/src/gtest.cc:2470
(content_browsertests+0x000000f3168d)
    #25 testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:5
(content_browsertests+0x000000f32833)
    #26 testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:5
(content_browsertests+0x000000f33118)
    #27 testing::internal::UnitTestImpl::RunAllTests()
testing/gtest/src/gtest.cc:4647:11 (content_browsertests+0x000000f3c562)
    #28 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x000000f3bfc6)
    #29 testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255
(content_browsertests+0x000000f3bfc6)
    #30 RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:10
(content_browsertests+0x000000d209eb)
    #31 base::TestSuite::Run() base/test/test_suite.cc:230
(content_browsertests+0x000000d209eb)
    #32 content::ContentTestLauncherDelegate::RunTestSuite(int, char**)
content/test/content_test_launcher.cc:105:12
(content_browsertests+0x000000c677db)
    #33 content::LaunchTests(content::TestLauncherDelegate*, int, int, char**)
content/public/test/test_launcher.cc:517:12
(content_browsertests+0x000000cfb2fc)
    #34 main content/test/content_test_launcher.cc:131:10
(content_browsertests+0x000000c67762)

SUMMARY: ThreadSanitizer: data race media/audio/audio_manager.cc:264:20 in
media::AudioManagerDeleter::operator()(media::AudioManager const*) const
.

Powered by Google App Engine
This is Rietveld 408576698