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

Side by Side Diff: content/browser/renderer_host/media/audio_renderer_host_unittest.cc

Issue 1806313003: Pass task runners to AudioManager constructor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: speculative hack to fix test timeouts Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 175
176 void WaitForEnumeration(base::RunLoop* loop, 176 void WaitForEnumeration(base::RunLoop* loop,
177 const AudioOutputDeviceEnumeration& e) { 177 const AudioOutputDeviceEnumeration& e) {
178 loop->Quit(); 178 loop->Quit();
179 } 179 }
180 } // namespace 180 } // namespace
181 181
182 class AudioRendererHostTest : public testing::Test { 182 class AudioRendererHostTest : public testing::Test {
183 public: 183 public:
184 AudioRendererHostTest() { 184 AudioRendererHostTest() {
185 audio_manager_.reset(media::AudioManager::CreateForTesting()); 185 audio_manager_ = media::AudioManager::CreateForTesting(
186 base::ThreadTaskRunnerHandle::Get());
186 base::CommandLine::ForCurrentProcess()->AppendSwitch( 187 base::CommandLine::ForCurrentProcess()->AppendSwitch(
187 switches::kUseFakeDeviceForMediaStream); 188 switches::kUseFakeDeviceForMediaStream);
188 media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get())); 189 media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get()));
189 190
190 // Enable caching to make enumerations run in a single thread 191 // Enable caching to make enumerations run in a single thread
191 media_stream_manager_->audio_output_device_enumerator()->SetCachePolicy( 192 media_stream_manager_->audio_output_device_enumerator()->SetCachePolicy(
192 AudioOutputDeviceEnumerator::CACHE_POLICY_MANUAL_INVALIDATION); 193 AudioOutputDeviceEnumerator::CACHE_POLICY_MANUAL_INVALIDATION);
193 base::RunLoop().RunUntilIdle(); 194 base::RunLoop().RunUntilIdle();
194 base::RunLoop run_loop; 195 base::RunLoop run_loop;
195 media_stream_manager_->audio_output_device_enumerator()->Enumerate( 196 media_stream_manager_->audio_output_device_enumerator()->Enumerate(
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 audio_manager_->GetTaskRunner()->PostTask( 317 audio_manager_->GetTaskRunner()->PostTask(
317 FROM_HERE, media::BindToCurrentLoop(run_loop.QuitClosure())); 318 FROM_HERE, media::BindToCurrentLoop(run_loop.QuitClosure()));
318 run_loop.Run(); 319 run_loop.Run();
319 } 320 }
320 321
321 private: 322 private:
322 // MediaStreamManager uses a DestructionObserver, so it must outlive the 323 // MediaStreamManager uses a DestructionObserver, so it must outlive the
323 // TestBrowserThreadBundle. 324 // TestBrowserThreadBundle.
324 scoped_ptr<MediaStreamManager> media_stream_manager_; 325 scoped_ptr<MediaStreamManager> media_stream_manager_;
325 TestBrowserThreadBundle thread_bundle_; 326 TestBrowserThreadBundle thread_bundle_;
326 scoped_ptr<media::AudioManager> audio_manager_; 327 media::ScopedAudioManagerPtr audio_manager_;
327 MockAudioMirroringManager mirroring_manager_; 328 MockAudioMirroringManager mirroring_manager_;
328 scoped_refptr<MockAudioRendererHost> host_; 329 scoped_refptr<MockAudioRendererHost> host_;
329 330
330 DISALLOW_COPY_AND_ASSIGN(AudioRendererHostTest); 331 DISALLOW_COPY_AND_ASSIGN(AudioRendererHostTest);
331 }; 332 };
332 333
333 TEST_F(AudioRendererHostTest, CreateAndClose) { 334 TEST_F(AudioRendererHostTest, CreateAndClose) {
334 Create(); 335 Create();
335 Close(); 336 Close();
336 } 337 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 } 402 }
402 403
403 TEST_F(AudioRendererHostTest, CreateInvalidDevice) { 404 TEST_F(AudioRendererHostTest, CreateInvalidDevice) {
404 Create(false, kInvalidDeviceId, url::Origin(GURL(kSecurityOrigin))); 405 Create(false, kInvalidDeviceId, url::Origin(GURL(kSecurityOrigin)));
405 Close(); 406 Close();
406 } 407 }
407 408
408 // TODO(hclam): Add tests for data conversation in low latency mode. 409 // TODO(hclam): Add tests for data conversation in low latency mode.
409 410
410 } // namespace content 411 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698