Chromium Code Reviews| Index: media/audio/win/audio_low_latency_input_win_unittest.cc |
| =================================================================== |
| --- media/audio/win/audio_low_latency_input_win_unittest.cc (revision 113173) |
| +++ media/audio/win/audio_low_latency_input_win_unittest.cc (working copy) |
| @@ -88,13 +88,14 @@ |
| // Convenience method which ensures that we are not running on the build |
| // bots and that at least one valid input device can be found. |
| -static bool CanRunAudioTests() { |
| +static bool CanRunAudioTests(AudioManager* audio_man) { |
| + if (NULL == audio_man) |
|
scherkus (not reviewing)
2011/12/09 22:47:30
if (!audio_man)
tommi (sloooow) - chröme
2011/12/10 00:11:14
Removed check. AudioManager:Create is always call
|
| + return false; |
| + |
| scoped_ptr<base::Environment> env(base::Environment::Create()); |
| if (env->HasVar("CHROME_HEADLESS")) |
| return false; |
| - AudioManager* audio_man = AudioManager::GetAudioManager(); |
| - if (NULL == audio_man) |
| - return false; |
| + |
| // TODO(henrika): note that we use Wave today to query the number of |
| // existing input devices. |
| return audio_man->HasAudioInputDevices(); |
| @@ -104,9 +105,9 @@ |
| // also allows the user to modify the default settings. |
| class AudioInputStreamWrapper { |
| public: |
| - AudioInputStreamWrapper() |
| + explicit AudioInputStreamWrapper(AudioManager* audio_manager) |
| : com_init_(ScopedCOMInitializer::kMTA), |
| - audio_man_(AudioManager::GetAudioManager()), |
| + audio_man_(audio_manager), |
| format_(AudioParameters::AUDIO_PCM_LOW_LATENCY), |
| channel_layout_(CHANNEL_LAYOUT_STEREO), |
| bits_per_sample_(16) { |
| @@ -149,7 +150,7 @@ |
| } |
| ScopedCOMInitializer com_init_; |
| - AudioManager* audio_man_; |
| + scoped_refptr<AudioManager> audio_man_; |
| AudioParameters::Format format_; |
| ChannelLayout channel_layout_; |
| int bits_per_sample_; |
| @@ -158,8 +159,9 @@ |
| }; |
| // Convenience method which creates a default AudioInputStream object. |
| -static AudioInputStream* CreateDefaultAudioInputStream() { |
| - AudioInputStreamWrapper aisw; |
| +static AudioInputStream* CreateDefaultAudioInputStream( |
| + AudioManager* audio_manager) { |
| + AudioInputStreamWrapper aisw(audio_manager); |
| AudioInputStream* ais = aisw.Create(); |
| return ais; |
| } |
| @@ -170,7 +172,8 @@ |
| // endpoint device. |
| // TODO(henrika): modify this test when we suport full device enumeration. |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamHardwareSampleRate) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
|
scherkus (not reviewing)
2011/12/09 22:47:30
.get() etc
tommi (sloooow) - chröme
2011/12/10 00:11:14
Done.
|
| return; |
| ScopedCOMInitializer com_init(ScopedCOMInitializer::kMTA); |
| @@ -194,26 +197,29 @@ |
| // Test Create(), Close() calling sequence. |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamCreateAndClose) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| - AudioInputStream* ais = CreateDefaultAudioInputStream(); |
| + AudioInputStream* ais = CreateDefaultAudioInputStream(audio_manager.get()); |
| ais->Close(); |
| } |
| // Test Open(), Close() calling sequence. |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamOpenAndClose) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| - AudioInputStream* ais = CreateDefaultAudioInputStream(); |
| + AudioInputStream* ais = CreateDefaultAudioInputStream(audio_manager.get()); |
| EXPECT_TRUE(ais->Open()); |
| ais->Close(); |
| } |
| // Test Open(), Start(), Close() calling sequence. |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamOpenStartAndClose) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| - AudioInputStream* ais = CreateDefaultAudioInputStream(); |
| + AudioInputStream* ais = CreateDefaultAudioInputStream(audio_manager.get()); |
| EXPECT_TRUE(ais->Open()); |
| MockAudioInputCallback sink; |
| ais->Start(&sink); |
| @@ -224,9 +230,10 @@ |
| // Test Open(), Start(), Stop(), Close() calling sequence. |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamOpenStartStopAndClose) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| - AudioInputStream* ais = CreateDefaultAudioInputStream(); |
| + AudioInputStream* ais = CreateDefaultAudioInputStream(audio_manager.get()); |
| EXPECT_TRUE(ais->Open()); |
| MockAudioInputCallback sink; |
| ais->Start(&sink); |
| @@ -238,9 +245,10 @@ |
| // Test some additional calling sequences. |
| TEST(MacAudioInputTest, WASAPIAudioInputStreamMiscCallingSequences) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| - AudioInputStream* ais = CreateDefaultAudioInputStream(); |
| + AudioInputStream* ais = CreateDefaultAudioInputStream(audio_manager.get()); |
| WASAPIAudioInputStream* wais = static_cast<WASAPIAudioInputStream*>(ais); |
| // Open(), Open() should fail the second time. |
| @@ -267,14 +275,15 @@ |
| } |
| TEST(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| // 10 ms packet size. |
| // Create default WASAPI input stream which records in stereo using |
| // the shared mixing rate. The default buffer size is 10ms. |
| - AudioInputStreamWrapper aisw; |
| + AudioInputStreamWrapper aisw(audio_manager.get()); |
| AudioInputStream* ais = aisw.Create(); |
| EXPECT_TRUE(ais->Open()); |
| @@ -347,12 +356,13 @@ |
| // with --gtest_also_run_disabled_tests or set the GTEST_ALSO_RUN_DISABLED_TESTS |
| // environment variable to a value greater than 0. |
| TEST(WinAudioInputTest, DISABLED_WASAPIAudioInputStreamRecordToFile) { |
| - if (!CanRunAudioTests()) |
| + scoped_refptr<AudioManager> audio_manager(AudioManager::Create()); |
| + if (!CanRunAudioTests(audio_manager.get())) |
| return; |
| const char* file_name = "out_stereo_10sec.pcm"; |
| - AudioInputStreamWrapper aisw; |
| + AudioInputStreamWrapper aisw(audio_manager.get()); |
| AudioInputStream* ais = aisw.Create(); |
| EXPECT_TRUE(ais->Open()); |