| Index: media/base/pipeline_unittest.cc
|
| diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc
|
| index 8a4dea1582362fe3d7428a429715deae4034a41d..7b29698c3b7311e7ca08ec391cbeab3dd4e80565 100644
|
| --- a/media/base/pipeline_unittest.cc
|
| +++ b/media/base/pipeline_unittest.cc
|
| @@ -103,6 +103,8 @@ class PipelineTest : public ::testing::Test {
|
|
|
| EXPECT_CALL(*renderer_, GetMediaTime())
|
| .WillRepeatedly(Return(base::TimeDelta()));
|
| +
|
| + EXPECT_CALL(*demuxer_, GetStartTime()).WillRepeatedly(Return(start_time_));
|
| }
|
|
|
| virtual ~PipelineTest() {
|
| @@ -203,7 +205,7 @@ class PipelineTest : public ::testing::Test {
|
| EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_));
|
| EXPECT_CALL(*renderer_, SetPlaybackRate(0.0f));
|
| EXPECT_CALL(*renderer_, SetVolume(1.0f));
|
| - EXPECT_CALL(*renderer_, StartPlayingFrom(base::TimeDelta()))
|
| + EXPECT_CALL(*renderer_, StartPlayingFrom(start_time_))
|
| .WillOnce(SetBufferingState(&buffering_state_cb_,
|
| BUFFERING_HAVE_ENOUGH));
|
| EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
|
| @@ -313,6 +315,7 @@ class PipelineTest : public ::testing::Test {
|
| base::Closure ended_cb_;
|
| VideoDecoderConfig video_decoder_config_;
|
| PipelineMetadata metadata_;
|
| + base::TimeDelta start_time_;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(PipelineTest);
|
| @@ -742,6 +745,22 @@ TEST_F(PipelineTest, Underflow) {
|
| DoSeek(expected);
|
| }
|
|
|
| +TEST_F(PipelineTest, PositiveStartTime) {
|
| + start_time_ = base::TimeDelta::FromSeconds(1);
|
| + EXPECT_CALL(*demuxer_, GetStartTime()).WillRepeatedly(Return(start_time_));
|
| + CreateAudioStream();
|
| + MockDemuxerStreamVector streams;
|
| + streams.push_back(audio_stream());
|
| + SetDemuxerExpectations(&streams);
|
| + SetRendererExpectations();
|
| + StartPipelineAndExpect(PIPELINE_OK);
|
| + ExpectDemuxerStop();
|
| + ExpectPipelineStopAndDestroyPipeline();
|
| + pipeline_->Stop(
|
| + base::Bind(&CallbackHelper::OnStop, base::Unretained(&callbacks_)));
|
| + message_loop_.RunUntilIdle();
|
| +}
|
| +
|
| class PipelineTeardownTest : public PipelineTest {
|
| public:
|
| enum TeardownState {
|
|
|