Chromium Code Reviews| Index: media/base/pipeline_unittest.cc |
| diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc |
| index ec8428f82eb666cd1989009730227e64966edf4f..95c5a7779ba58777d4539efb9d007379d71c3114 100644 |
| --- a/media/base/pipeline_unittest.cc |
| +++ b/media/base/pipeline_unittest.cc |
| @@ -50,6 +50,10 @@ ACTION_P2(SetError, pipeline, status) { |
| pipeline->SetErrorForTesting(status); |
| } |
| +ACTION_P2(SetBufferingState, cb, buffering_state) { |
| + cb->Run(buffering_state); |
| +} |
| + |
| // Used for setting expectations on pipeline callbacks. Using a StrictMock |
| // also lets us test for missing callbacks. |
| class CallbackHelper { |
| @@ -182,7 +186,8 @@ class PipelineTest : public ::testing::Test { |
| // Sets up expectations to allow the audio renderer to initialize. |
| void InitializeAudioRenderer(DemuxerStream* stream) { |
| EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _)) |
| - .WillOnce(DoAll(SaveArg<4>(&audio_time_cb_), |
| + .WillOnce(DoAll(SaveArg<3>(&audio_time_cb_), |
| + SaveArg<4>(&audio_buffering_state_cb_), |
| RunCallback<1>(PIPELINE_OK))); |
| } |
| @@ -204,10 +209,9 @@ class PipelineTest : public ::testing::Test { |
| if (audio_stream_) { |
| EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); |
| EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); |
| - |
| - // Startup sequence. |
| - EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + EXPECT_CALL(*audio_renderer_, StartPlayingFrom(base::TimeDelta())) |
| + .WillOnce(SetBufferingState(&audio_buffering_state_cb_, |
| + BUFFERING_HAVE_ENOUGH)); |
| EXPECT_CALL(*audio_renderer_, StartRendering()); |
| } |
| EXPECT_CALL(callbacks_, OnPrerollCompleted()); |
| @@ -261,8 +265,9 @@ class PipelineTest : public ::testing::Test { |
| EXPECT_CALL(*audio_renderer_, StopRendering()); |
| EXPECT_CALL(*audio_renderer_, Flush(_)) |
| .WillOnce(RunClosure<0>()); |
| - EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + EXPECT_CALL(*audio_renderer_, StartPlayingFrom(seek_time)) |
| + .WillOnce(SetBufferingState(&audio_buffering_state_cb_, |
| + BUFFERING_HAVE_ENOUGH)); |
| EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); |
| EXPECT_CALL(*audio_renderer_, SetVolume(_)); |
| EXPECT_CALL(*audio_renderer_, StartRendering()); |
| @@ -331,6 +336,7 @@ class PipelineTest : public ::testing::Test { |
| scoped_ptr<StrictMock<MockDemuxerStream> > video_stream_; |
| scoped_ptr<FakeTextTrackStream> text_stream_; |
| AudioRenderer::TimeCB audio_time_cb_; |
| + AudioRenderer::BufferingStateCB audio_buffering_state_cb_; |
| VideoDecoderConfig video_decoder_config_; |
| PipelineMetadata metadata_; |
| @@ -811,8 +817,9 @@ TEST_F(PipelineTest, AudioTimeUpdateDuringSeek) { |
| EXPECT_CALL(*audio_renderer_, StopRendering()); |
| EXPECT_CALL(*audio_renderer_, Flush(_)) |
| .WillOnce(RunClosure<0>()); |
| - EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + EXPECT_CALL(*audio_renderer_, StartPlayingFrom(seek_time)) |
| + .WillOnce(SetBufferingState(&audio_buffering_state_cb_, |
| + BUFFERING_HAVE_ENOUGH)); |
| EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); |
| EXPECT_CALL(*audio_renderer_, SetVolume(_)); |
| EXPECT_CALL(*audio_renderer_, StartRendering()); |
| @@ -885,7 +892,7 @@ class PipelineTeardownTest : public PipelineTest { |
| case kSeeking: |
| case kPrerolling: |
| DoInitialize(state, stop_or_error); |
| - DoSeek(state, stop_or_error); |
| + //DoSeek(state, stop_or_error); |
|
acolwell GONE FROM CHROMIUM
2014/05/13 20:44:27
remove?
scherkus (not reviewing)
2014/05/15 23:28:43
Done.
|
| break; |
| case kPlaying: |
| @@ -964,7 +971,8 @@ class PipelineTeardownTest : public PipelineTest { |
| } |
| EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + .WillOnce(DoAll(SaveArg<4>(&audio_buffering_state_cb_), |
| + RunCallback<1>(PIPELINE_OK))); |
| if (state == kInitVideoRenderer) { |
| if (stop_or_error == kStop) { |
| @@ -990,8 +998,9 @@ class PipelineTeardownTest : public PipelineTest { |
| EXPECT_CALL(callbacks_, OnMetadata(_)); |
| // If we get here it's a successful initialization. |
| - EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + EXPECT_CALL(*audio_renderer_, StartPlayingFrom(base::TimeDelta())) |
| + .WillOnce(SetBufferingState(&audio_buffering_state_cb_, |
| + BUFFERING_HAVE_ENOUGH)); |
| EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| @@ -1083,20 +1092,19 @@ class PipelineTeardownTest : public PipelineTest { |
| if (state == kPrerolling) { |
| if (stop_or_error == kStop) { |
| - EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
| + EXPECT_CALL(*video_renderer_, Preroll(_, _)) |
| .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), |
| RunCallback<1>(PIPELINE_OK))); |
| } else { |
| status = PIPELINE_ERROR_READ; |
| - EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
| + EXPECT_CALL(*video_renderer_, Preroll(_, _)) |
| .WillOnce(RunCallback<1>(status)); |
| } |
| return status; |
| } |
| - EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
| - .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| + EXPECT_CALL(*audio_renderer_, StartPlayingFrom(_)); |
| EXPECT_CALL(*video_renderer_, Preroll(_, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |