Index: media/base/pipeline_unittest.cc |
diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc |
index ec8428f82eb666cd1989009730227e64966edf4f..7ce25fa63b03c42953a0580c03f2fde2de772b25 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()); |
@@ -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,18 @@ class PipelineTeardownTest : public PipelineTest { |
if (state == kPrerolling) { |
if (stop_or_error == kStop) { |
- EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
- .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), |
- RunCallback<1>(PIPELINE_OK))); |
+ EXPECT_CALL(*audio_renderer_, StartPlayingFrom(_)) |
+ .WillOnce(Stop(pipeline_.get(), stop_cb)); |
} else { |
status = PIPELINE_ERROR_READ; |
- EXPECT_CALL(*audio_renderer_, Preroll(_, _)) |
- .WillOnce(RunCallback<1>(status)); |
+ EXPECT_CALL(*audio_renderer_, StartPlayingFrom(_)) |
+ .WillOnce(SetError(pipeline_.get(), 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)); |