Index: media/audio/sounds/audio_stream_handler_unittest.cc |
diff --git a/media/audio/sounds/audio_stream_handler_unittest.cc b/media/audio/sounds/audio_stream_handler_unittest.cc |
index 1b87ca424ac48794c6c59b5fbfa96d6def94d5d7..593bc62a0df3cd2dee13f3842161f0479f0097f9 100644 |
--- a/media/audio/sounds/audio_stream_handler_unittest.cc |
+++ b/media/audio/sounds/audio_stream_handler_unittest.cc |
@@ -25,7 +25,8 @@ class AudioStreamHandlerTest : public testing::Test { |
~AudioStreamHandlerTest() override {} |
void SetUp() override { |
- audio_manager_.reset(AudioManager::CreateForTesting()); |
+ audio_manager_ = |
+ AudioManager::CreateForTesting(message_loop_.task_runner()); |
base::StringPiece data(kTestAudioData, arraysize(kTestAudioData)); |
audio_stream_handler_.reset(new AudioStreamHandler(data)); |
@@ -33,6 +34,11 @@ class AudioStreamHandlerTest : public testing::Test { |
void TearDown() override { |
audio_stream_handler_.reset(); |
+ // AudioStreamHandler destructor posts stop and delete task to audio thread. |
+ // Flush audio thread to ensure that those tasks are run before attempting |
+ // to destroy AudioManager. |
+ base::RunLoop().RunUntilIdle(); |
+ |
audio_manager_.reset(); |
} |
@@ -50,7 +56,7 @@ class AudioStreamHandlerTest : public testing::Test { |
} |
private: |
- scoped_ptr<AudioManager> audio_manager_; |
+ ScopedAudioManagerPtr audio_manager_; |
scoped_ptr<AudioStreamHandler> audio_stream_handler_; |
base::MessageLoop message_loop_; |