| Index: media/audio/audio_output_proxy_unittest.cc
|
| diff --git a/media/audio/audio_output_proxy_unittest.cc b/media/audio/audio_output_proxy_unittest.cc
|
| index 1625cc571f86c462b25e2f9481ee277fa2f290cc..3ef666b2e97afebf3c138c03c10a5acec900d244 100644
|
| --- a/media/audio/audio_output_proxy_unittest.cc
|
| +++ b/media/audio/audio_output_proxy_unittest.cc
|
| @@ -98,9 +98,11 @@ class MockAudioManager : public AudioManagerBase {
|
| MOCK_METHOD0(HasAudioOutputDevices, bool());
|
| MOCK_METHOD0(HasAudioInputDevices, bool());
|
| MOCK_METHOD0(GetAudioInputDeviceModel, base::string16());
|
| - MOCK_METHOD2(MakeAudioOutputStream, AudioOutputStream*(
|
| - const AudioParameters& params,
|
| - const std::string& device_id));
|
| + MOCK_METHOD3(
|
| + MakeAudioOutputStream,
|
| + AudioOutputStream*(const AudioParameters& params,
|
| + const std::string& device_id,
|
| + const StatisticsCallback& statistics_callback));
|
| MOCK_METHOD2(MakeAudioOutputStreamProxy, AudioOutputStream*(
|
| const AudioParameters& params,
|
| const std::string& device_id));
|
| @@ -115,8 +117,11 @@ class MockAudioManager : public AudioManagerBase {
|
|
|
| MOCK_METHOD1(MakeLinearOutputStream, AudioOutputStream*(
|
| const AudioParameters& params));
|
| - MOCK_METHOD2(MakeLowLatencyOutputStream, AudioOutputStream*(
|
| - const AudioParameters& params, const std::string& device_id));
|
| + MOCK_METHOD3(
|
| + MakeLowLatencyOutputStream,
|
| + AudioOutputStream*(const AudioParameters& params,
|
| + const std::string& device_id,
|
| + const StatisticsCallback& statistics_callback));
|
| MOCK_METHOD2(MakeLinearInputStream, AudioInputStream*(
|
| const AudioParameters& params, const std::string& device_id));
|
| MOCK_METHOD2(MakeLowLatencyInputStream, AudioInputStream*(
|
| @@ -194,7 +199,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void OpenAndClose(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -208,7 +213,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void StartAndStop(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -231,7 +236,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void CloseAfterStop(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -256,7 +261,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void TwoStreams(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -275,7 +280,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void OpenFailed(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(false));
|
| @@ -292,7 +297,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void CreateAndWait(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -309,7 +314,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void OneStream_TwoPlays(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
|
|
| EXPECT_CALL(stream, Open())
|
| @@ -341,7 +346,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| MockAudioOutputStream stream1(&manager_, params_);
|
| MockAudioOutputStream stream2(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream1))
|
| .WillOnce(Return(&stream2));
|
|
|
| @@ -378,7 +383,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| void StartFailed(AudioOutputDispatcher* dispatcher) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
|
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream));
|
| EXPECT_CALL(stream, Open())
|
| .WillOnce(Return(true));
|
| @@ -389,7 +394,7 @@ class AudioOutputProxyTest : public testing::Test {
|
| WaitForCloseTimer(&stream);
|
|
|
| // |stream| is closed at this point. Start() should reopen it again.
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(2)
|
| .WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL)));
|
|
|
| @@ -535,7 +540,7 @@ TEST_F(AudioOutputResamplerTest, StartFailed) {
|
| // ensure AudioOutputResampler falls back to the high latency path.
|
| TEST_F(AudioOutputResamplerTest, LowLatencyCreateFailedFallback) {
|
| MockAudioOutputStream stream(&manager_, params_);
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(2)
|
| .WillOnce(Return(static_cast<AudioOutputStream*>(NULL)))
|
| .WillRepeatedly(Return(&stream));
|
| @@ -552,7 +557,7 @@ TEST_F(AudioOutputResamplerTest, LowLatencyCreateFailedFallback) {
|
| TEST_F(AudioOutputResamplerTest, LowLatencyOpenFailedFallback) {
|
| MockAudioOutputStream failed_stream(&manager_, params_);
|
| MockAudioOutputStream okay_stream(&manager_, params_);
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(2)
|
| .WillOnce(Return(&failed_stream))
|
| .WillRepeatedly(Return(&okay_stream));
|
| @@ -580,18 +585,21 @@ TEST_F(AudioOutputResamplerTest, HighLatencyFallbackFailed) {
|
| #else
|
| static const int kFallbackCount = 1;
|
| #endif
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(kFallbackCount)
|
| .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
|
|
|
| // To prevent shared memory issues the sample rate and buffer size should
|
| // match the input stream parameters.
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(AllOf(
|
| - testing::Property(&AudioParameters::format, AudioParameters::AUDIO_FAKE),
|
| - testing::Property(&AudioParameters::sample_rate, params_.sample_rate()),
|
| - testing::Property(
|
| - &AudioParameters::frames_per_buffer, params_.frames_per_buffer())),
|
| - _))
|
| + EXPECT_CALL(manager(),
|
| + MakeAudioOutputStream(
|
| + AllOf(testing::Property(&AudioParameters::format,
|
| + AudioParameters::AUDIO_FAKE),
|
| + testing::Property(&AudioParameters::sample_rate,
|
| + params_.sample_rate()),
|
| + testing::Property(&AudioParameters::frames_per_buffer,
|
| + params_.frames_per_buffer())),
|
| + _, _))
|
| .Times(1)
|
| .WillOnce(Return(&okay_stream));
|
| EXPECT_CALL(okay_stream, Open())
|
| @@ -613,7 +621,7 @@ TEST_F(AudioOutputResamplerTest, AllFallbackFailed) {
|
| #else
|
| static const int kFallbackCount = 2;
|
| #endif
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(kFallbackCount)
|
| .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
|
|
|
| @@ -629,7 +637,7 @@ TEST_F(AudioOutputResamplerTest, LowLatencyOpenEventuallyFails) {
|
| MockAudioOutputStream stream2(&manager_, params_);
|
|
|
| // Setup the mock such that all three streams are successfully created.
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .WillOnce(Return(&stream1))
|
| .WillOnce(Return(&stream2))
|
| .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
|
| @@ -691,7 +699,7 @@ TEST_F(AudioOutputResamplerTest, FallbackRecovery) {
|
| #else
|
| static const int kFallbackCount = 1;
|
| #endif
|
| - EXPECT_CALL(manager(), MakeAudioOutputStream(_, _))
|
| + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
|
| .Times(kFallbackCount)
|
| .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
|
| EXPECT_CALL(manager(),
|
| @@ -702,7 +710,8 @@ TEST_F(AudioOutputResamplerTest, FallbackRecovery) {
|
| params_.sample_rate()),
|
| testing::Property(&AudioParameters::frames_per_buffer,
|
| params_.frames_per_buffer())),
|
| - _)).WillOnce(Return(&fake_stream));
|
| + _, _))
|
| + .WillOnce(Return(&fake_stream));
|
| EXPECT_CALL(fake_stream, Open()).WillOnce(Return(true));
|
| AudioOutputProxy* proxy = new AudioOutputProxy(resampler_.get());
|
| EXPECT_TRUE(proxy->Open());
|
| @@ -722,7 +731,8 @@ TEST_F(AudioOutputResamplerTest, FallbackRecovery) {
|
| MakeAudioOutputStream(
|
| testing::Property(&AudioParameters::format,
|
| testing::Ne(AudioParameters::AUDIO_FAKE)),
|
| - _)).WillOnce(Return(&real_stream));
|
| + _, _))
|
| + .WillOnce(Return(&real_stream));
|
|
|
| // Stream1 should be able to successfully open and start.
|
| EXPECT_CALL(real_stream, Open()).WillOnce(Return(true));
|
|
|