| Index: media/audio/audio_input_device_unittest.cc
|
| ===================================================================
|
| --- media/audio/audio_input_device_unittest.cc (revision 113173)
|
| +++ media/audio/audio_input_device_unittest.cc (working copy)
|
| @@ -20,22 +20,13 @@
|
| class AudioInputDeviceTest
|
| : public ::testing::Test {
|
| protected:
|
| -#if defined(OS_WIN)
|
| - // Store current device-enumeration type to ensure that it can be restored
|
| - // after last test in this test suite.
|
| - static void SetUpTestCase() {
|
| - enumeration_type_ = static_cast<AudioManagerWin*>(
|
| - AudioManager::GetAudioManager())->enumeration_type();
|
| + AudioInputDeviceTest() {
|
| + audio_manager_ = AudioManager::Create();
|
| }
|
|
|
| - // Restore pre-test state of device-enumeration type.
|
| - static void TearDownTestCase() {
|
| - static_cast<AudioManagerWin*>(
|
| - AudioManager::GetAudioManager())->SetEnumerationType(enumeration_type_);
|
| - }
|
| -
|
| - bool SetMMDeviceEnumeration(AudioManager* audio_manager) {
|
| - AudioManagerWin* amw = static_cast<AudioManagerWin*>(audio_manager);
|
| +#if defined(OS_WIN)
|
| + bool SetMMDeviceEnumeration() {
|
| + AudioManagerWin* amw = static_cast<AudioManagerWin*>(audio_manager_.get());
|
| // Windows Wave is used as default if Windows XP was detected =>
|
| // return false since MMDevice is not supported on XP.
|
| if (amw->enumeration_type() == AudioManagerWin::kWaveEnumeration)
|
| @@ -45,21 +36,15 @@
|
| return true;
|
| }
|
|
|
| - void SetWaveEnumeration(AudioManager* audio_manager) {
|
| - AudioManagerWin* amw = static_cast<AudioManagerWin*>(audio_manager);
|
| + void SetWaveEnumeration() {
|
| + AudioManagerWin* amw = static_cast<AudioManagerWin*>(audio_manager_.get());
|
| amw->SetEnumerationType(AudioManagerWin::kWaveEnumeration);
|
| }
|
| -
|
| - // Stores the pre-test state representing the device-enumeration type.
|
| - static AudioManagerWin::EnumerationType enumeration_type_;
|
| #endif
|
| +
|
| + scoped_refptr<AudioManager> audio_manager_;
|
| };
|
|
|
| -#if defined(OS_WIN)
|
| -AudioManagerWin::EnumerationType AudioInputDeviceTest::enumeration_type_ =
|
| - AudioManagerWin::kUninitializedEnumeration;
|
| -#endif
|
| -
|
| // Convenience method which ensures that we are not running on the build
|
| // bots which lacks audio device support.
|
| static bool CanRunAudioTests() {
|
| @@ -102,9 +87,7 @@
|
| // The MMDevice API requires a correct COM environment.
|
| ScopedCOMInitializer com_init(ScopedCOMInitializer::kMTA);
|
| AudioDeviceNames device_names;
|
| - AudioManager* audio_man = AudioManager::GetAudioManager();
|
| - EXPECT_TRUE(audio_man != NULL);
|
| - audio_man->GetAudioInputDeviceNames(&device_names);
|
| + audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| CheckDeviceNames(device_names);
|
| }
|
|
|
| @@ -121,12 +104,11 @@
|
| // The MMDevice API requires a correct COM environment.
|
| ScopedCOMInitializer com_init(ScopedCOMInitializer::kMTA);
|
| AudioDeviceNames device_names;
|
| - AudioManager* audio_man = AudioManager::GetAudioManager();
|
| - if (!SetMMDeviceEnumeration(audio_man)) {
|
| + if (!SetMMDeviceEnumeration()) {
|
| // Usage of MMDevice will fail on XP and lower.
|
| return;
|
| }
|
| - audio_man->GetAudioInputDeviceNames(&device_names);
|
| + audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| CheckDeviceNames(device_names);
|
| }
|
|
|
| @@ -136,10 +118,8 @@
|
| if (!CanRunAudioTests())
|
| return;
|
| AudioDeviceNames device_names;
|
| - AudioManager* audio_man = AudioManager::GetAudioManager();
|
| - EXPECT_TRUE(audio_man != NULL);
|
| - SetWaveEnumeration(audio_man);
|
| - audio_man->GetAudioInputDeviceNames(&device_names);
|
| + SetWaveEnumeration();
|
| + audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| CheckDeviceNames(device_names);
|
| }
|
|
|
|
|