Index: media/audio/audio_manager_unittest.cc |
diff --git a/media/audio/audio_manager_unittest.cc b/media/audio/audio_manager_unittest.cc |
index e876dd173759517168a93767bcd5ff673f438a9e..26c110e3adef7202d88c34806543b47f32e349ec 100644 |
--- a/media/audio/audio_manager_unittest.cc |
+++ b/media/audio/audio_manager_unittest.cc |
@@ -33,7 +33,19 @@ |
// Windows. |
class AudioManagerTest : public ::testing::Test { |
protected: |
- AudioManagerTest() : audio_manager_(AudioManager::CreateForTesting()) {} |
+ AudioManagerTest() |
+ : audio_manager_(AudioManager::CreateForTesting()) |
+#if defined(OS_WIN) |
+ , com_init_(base::win::ScopedCOMInitializer::kMTA) |
+#endif |
+ { |
+ // Wait for audio thread initialization to complete. Otherwise the |
+ // enumeration type may not have been set yet. |
+ base::WaitableEvent event(false, false); |
+ audio_manager_->GetTaskRunner()->PostTask(FROM_HERE, base::Bind( |
+ &base::WaitableEvent::Signal, base::Unretained(&event))); |
+ event.Wait(); |
+ } |
#if defined(OS_WIN) |
bool SetMMDeviceEnumeration() { |
@@ -43,13 +55,13 @@ |
if (amw->enumeration_type() == AudioManagerWin::kWaveEnumeration) |
return false; |
- amw->set_enumeration_type(AudioManagerWin::kMMDeviceEnumeration); |
+ amw->SetEnumerationType(AudioManagerWin::kMMDeviceEnumeration); |
return true; |
} |
void SetWaveEnumeration() { |
AudioManagerWin* amw = static_cast<AudioManagerWin*>(audio_manager_.get()); |
- amw->set_enumeration_type(AudioManagerWin::kWaveEnumeration); |
+ amw->SetEnumerationType(AudioManagerWin::kWaveEnumeration); |
} |
std::string GetDeviceIdFromPCMWaveInAudioInputStream( |