| Index: media/audio/audio_output_controller_unittest.cc
|
| ===================================================================
|
| --- media/audio/audio_output_controller_unittest.cc (revision 114012)
|
| +++ media/audio/audio_output_controller_unittest.cc (working copy)
|
| @@ -61,12 +61,6 @@
|
| DISALLOW_COPY_AND_ASSIGN(MockAudioOutputControllerSyncReader);
|
| };
|
|
|
| -static bool HasAudioOutputDevices() {
|
| - AudioManager* audio_man = AudioManager::GetAudioManager();
|
| - CHECK(audio_man);
|
| - return audio_man->HasAudioOutputDevices();
|
| -}
|
| -
|
| static bool IsRunningHeadless() {
|
| scoped_ptr<base::Environment> env(base::Environment::Create());
|
| if (env->HasVar("CHROME_HEADLESS"))
|
| @@ -91,9 +85,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, CreateAndClose) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
|
|
| EXPECT_CALL(event_handler, OnCreated(NotNull()))
|
| @@ -103,7 +101,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params, kBufferCapacity);
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| + kBufferCapacity);
|
| ASSERT_TRUE(controller.get());
|
|
|
| // Close the controller immediately.
|
| @@ -111,9 +110,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, PlayAndClose) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
|
|
| @@ -133,7 +136,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params, kBufferCapacity);
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| + kBufferCapacity);
|
| ASSERT_TRUE(controller.get());
|
|
|
| // Wait for OnCreated() to be called.
|
| @@ -153,9 +157,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, PlayAndCloseLowLatency) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
|
|
| @@ -183,7 +191,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::CreateLowLatency(&event_handler,
|
| + AudioOutputController::CreateLowLatency(audio_manager,
|
| + &event_handler,
|
| params,
|
| &sync_reader);
|
| ASSERT_TRUE(controller.get());
|
| @@ -205,9 +214,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, PlayPauseClose) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
| base::WaitableEvent pause_event(false, false);
|
| @@ -234,7 +247,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params, kBufferCapacity);
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| + kBufferCapacity);
|
| ASSERT_TRUE(controller.get());
|
|
|
| // Wait for OnCreated() to be called.
|
| @@ -259,9 +273,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, PlayPauseCloseLowLatency) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
| base::WaitableEvent pause_event(false, false);
|
| @@ -286,7 +304,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::CreateLowLatency(&event_handler,
|
| + AudioOutputController::CreateLowLatency(audio_manager,
|
| + &event_handler,
|
| params,
|
| &sync_reader);
|
| ASSERT_TRUE(controller.get());
|
| @@ -304,9 +323,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, PlayPausePlay) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
| base::WaitableEvent pause_event(false, false);
|
| @@ -339,7 +362,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params, kBufferCapacity);
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| + kBufferCapacity);
|
| ASSERT_TRUE(controller.get());
|
|
|
| // Wait for OnCreated() to be called.
|
| @@ -374,16 +398,20 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, HardwareBufferTooLarge) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| // Create an audio device with a very large hardware buffer size.
|
| MockAudioOutputControllerEventHandler event_handler;
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample,
|
| kSamplesPerPacket * 1000);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params,
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| kBufferCapacity);
|
|
|
| // Use assert because we don't stop the device and assume we can't
|
| @@ -392,9 +420,13 @@
|
| }
|
|
|
| TEST(AudioOutputControllerTest, CloseTwice) {
|
| - if (!HasAudioOutputDevices() || IsRunningHeadless())
|
| + if (IsRunningHeadless())
|
| return;
|
|
|
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create());
|
| + if (!audio_manager->HasAudioOutputDevices())
|
| + return;
|
| +
|
| MockAudioOutputControllerEventHandler event_handler;
|
| base::WaitableEvent event(false, false);
|
|
|
| @@ -410,7 +442,8 @@
|
| AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kChannelLayout,
|
| kSampleRate, kBitsPerSample, kSamplesPerPacket);
|
| scoped_refptr<AudioOutputController> controller =
|
| - AudioOutputController::Create(&event_handler, params, kBufferCapacity);
|
| + AudioOutputController::Create(audio_manager, &event_handler, params,
|
| + kBufferCapacity);
|
| ASSERT_TRUE(controller.get());
|
|
|
| // Wait for OnCreated() to be called.
|
|
|