Index: media/audio/win/audio_low_latency_input_win_unittest.cc |
diff --git a/media/audio/win/audio_low_latency_input_win_unittest.cc b/media/audio/win/audio_low_latency_input_win_unittest.cc |
index 9948188eb81ad543908147060437e048ebd1343a..f78ee7286cd15eb4ff8eb1ddf07d140377d6167d 100644 |
--- a/media/audio/win/audio_low_latency_input_win_unittest.cc |
+++ b/media/audio/win/audio_low_latency_input_win_unittest.cc |
@@ -16,6 +16,7 @@ |
#include "base/macros.h" |
#include "base/message_loop/message_loop.h" |
#include "base/path_service.h" |
+#include "base/run_loop.h" |
#include "base/test/test_timeouts.h" |
#include "base/win/scoped_com_initializer.h" |
#include "media/audio/audio_device_description.h" |
@@ -35,10 +36,9 @@ using ::testing::NotNull; |
namespace media { |
-ACTION_P3(CheckCountAndPostQuitTask, count, limit, loop) { |
- if (++*count >= limit) { |
- loop->PostTask(FROM_HERE, base::MessageLoop::QuitWhenIdleClosure()); |
- } |
+ACTION_P3(CheckCountAndPostQuitTask, count, limit, run_loop) { |
+ if (++*count >= limit) |
+ run_loop->QuitWhenIdle(); |
} |
class MockAudioInputCallback : public AudioInputStream::AudioInputCallback { |
@@ -260,11 +260,11 @@ class WinAudioInputTest : public ::testing::Test { |
WinAudioInputTest() { |
audio_manager_ = |
AudioManager::CreateForTesting(message_loop_.task_runner()); |
- message_loop_.RunUntilIdle(); |
+ base::RunLoop().RunUntilIdle(); |
} |
~WinAudioInputTest() override { |
audio_manager_.reset(); |
- message_loop_.RunUntilIdle(); |
+ base::RunLoop().RunUntilIdle(); |
} |
protected: |
@@ -379,15 +379,18 @@ TEST_F(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) { |
uint32_t bytes_per_packet = |
aisw.channels() * aisw.frames_per_buffer() * (aisw.bits_per_sample() / 8); |
- // We use 10ms packets and will run the test until ten packets are received. |
- // All should contain valid packets of the same size and a valid delay |
- // estimate. |
- EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
- .Times(AtLeast(10)) |
- .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &message_loop_)); |
- ais->Start(&sink); |
- message_loop_.Run(); |
- ais->Stop(); |
+ { |
+ // We use 10ms packets and will run the test until ten packets are received. |
+ // All should contain valid packets of the same size and a valid delay |
+ // estimate. |
+ base::RunLoop run_loop; |
+ EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
+ .Times(AtLeast(10)) |
+ .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &run_loop)); |
+ ais->Start(&sink); |
+ run_loop.Run(); |
+ ais->Stop(); |
+ } |
// Store current packet size (to be used in the subsequent tests). |
int frames_per_buffer_10ms = aisw.frames_per_buffer(); |
@@ -402,13 +405,16 @@ TEST_F(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) { |
bytes_per_packet = aisw.channels() * aisw.frames_per_buffer() * |
(aisw.bits_per_sample() / 8); |
- EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
- .Times(AtLeast(10)) |
- .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &message_loop_)); |
- ais->Start(&sink); |
- message_loop_.Run(); |
- ais->Stop(); |
- ais.Close(); |
+ { |
+ base::RunLoop run_loop; |
+ EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
+ .Times(AtLeast(10)) |
+ .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &run_loop)); |
+ ais->Start(&sink); |
+ run_loop.Run(); |
+ ais->Stop(); |
+ ais.Close(); |
+ } |
// 5 ms packet size. |
@@ -418,13 +424,16 @@ TEST_F(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) { |
bytes_per_packet = aisw.channels() * aisw.frames_per_buffer() * |
(aisw.bits_per_sample() / 8); |
- EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
- .Times(AtLeast(10)) |
- .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &message_loop_)); |
- ais->Start(&sink); |
- message_loop_.Run(); |
- ais->Stop(); |
- ais.Close(); |
+ { |
+ base::RunLoop run_loop; |
+ EXPECT_CALL(sink, OnData(ais.get(), NotNull(), _, _)) |
+ .Times(AtLeast(10)) |
+ .WillRepeatedly(CheckCountAndPostQuitTask(&count, 10, &run_loop)); |
+ ais->Start(&sink); |
+ run_loop.Run(); |
+ ais->Stop(); |
+ ais.Close(); |
+ } |
} |
// Test that we can capture a stream in loopback. |