Index: media/base/pipeline_unittest.cc |
diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc |
index a4a0588e1fdc2a7ead348f905ed3a40bd6f0bb1e..630b1b0edb6df3792d6abb688167d7ab1618d8fd 100644 |
--- a/media/base/pipeline_unittest.cc |
+++ b/media/base/pipeline_unittest.cc |
@@ -45,10 +45,18 @@ ACTION(RunPipelineStatusCB1) { |
arg1.Run(PIPELINE_OK); |
} |
+ACTION(RunPipelineStatusCB2) { |
+ arg2.Run(PIPELINE_OK); |
+} |
+ |
ACTION_P(RunPipelineStatusCB1WithStatus, status) { |
arg1.Run(status); |
} |
+ACTION_P(RunPipelineStatusCB2WithStatus, status) { |
+ arg2.Run(status); |
+} |
+ |
// Used for setting expectations on pipeline callbacks. Using a StrictMock |
// also lets us test for missing callbacks. |
class CallbackHelper { |
@@ -157,13 +165,6 @@ class PipelineTest : public ::testing::Test { |
return stream; |
} |
- // Sets up expectations to allow the video decoder to initialize. |
- void InitializeVideoDecoder(const scoped_refptr<DemuxerStream>& stream) { |
- EXPECT_CALL(*mocks_->video_decoder(), |
- Initialize(stream, _, _)) |
- .WillOnce(RunPipelineStatusCB1()); |
- } |
- |
// Sets up expectations to allow the audio decoder to initialize. |
void InitializeAudioDecoder(const scoped_refptr<DemuxerStream>& stream) { |
EXPECT_CALL(*mocks_->audio_decoder(), Initialize(stream, _, _)) |
@@ -171,11 +172,10 @@ class PipelineTest : public ::testing::Test { |
} |
// Sets up expectations to allow the video renderer to initialize. |
- void InitializeVideoRenderer() { |
+ void InitializeVideoRenderer(const scoped_refptr<DemuxerStream>& stream) { |
EXPECT_CALL(*mocks_->video_renderer(), Initialize( |
- scoped_refptr<VideoDecoder>(mocks_->video_decoder()), |
- _, _, _, _, _, _, _, _)) |
- .WillOnce(RunPipelineStatusCB1()); |
+ stream, _, _, _, _, _, _, _, _, _)) |
+ .WillOnce(RunPipelineStatusCB2()); |
EXPECT_CALL(*mocks_->video_renderer(), SetPlaybackRate(0.0f)); |
// Startup sequence. |
@@ -420,8 +420,7 @@ TEST_F(PipelineTest, VideoStream) { |
streams.push_back(video_stream()); |
InitializeDemuxer(&streams); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -439,8 +438,7 @@ TEST_F(PipelineTest, AudioVideoStream) { |
InitializeDemuxer(&streams); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -458,8 +456,7 @@ TEST_F(PipelineTest, Seek) { |
InitializeDemuxer(&streams, base::TimeDelta::FromSeconds(3000)); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
// Initialize then seek! |
InitializePipeline(PIPELINE_OK); |
@@ -495,8 +492,7 @@ TEST_F(PipelineTest, Properties) { |
const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(100); |
InitializeDemuxer(&streams, kDuration); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -513,8 +509,7 @@ TEST_F(PipelineTest, GetBufferedTimeRanges) { |
const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(100); |
InitializeDemuxer(&streams, kDuration); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -569,8 +564,7 @@ TEST_F(PipelineTest, DisableAudioRenderer) { |
InitializeDemuxer(&streams); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -597,8 +591,7 @@ TEST_F(PipelineTest, DisableAudioRendererDuringInit) { |
InitializeDemuxer(&streams); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(true); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
EXPECT_CALL(*mocks_->demuxer(), |
OnAudioRendererDisabled()); |
@@ -625,8 +618,7 @@ TEST_F(PipelineTest, EndedCallback) { |
InitializeDemuxer(&streams); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
// Due to short circuit evaluation we only need to test a subset of cases. |
@@ -671,8 +663,7 @@ TEST_F(PipelineTest, AudioStreamShorterThanVideo) { |
InitializeDemuxer(&streams, duration); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_EQ(0, pipeline_->GetMediaTime().ToInternalValue()); |
@@ -816,8 +807,7 @@ TEST_F(PipelineTest, StartTimeIsZero) { |
const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(100); |
InitializeDemuxer(&streams, kDuration); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -839,8 +829,7 @@ TEST_F(PipelineTest, StartTimeIsNonZero) { |
streams.push_back(video_stream()); |
InitializeDemuxer(&streams, kDuration); |
- InitializeVideoDecoder(video_stream()); |
- InitializeVideoRenderer(); |
+ InitializeVideoRenderer(video_stream()); |
InitializePipeline(PIPELINE_OK); |
EXPECT_TRUE(pipeline_->IsInitialized()); |
@@ -964,34 +953,6 @@ TEST_F(PipelineTest, InitFailure_AudioRenderer) { |
EXPECT_TRUE(pipeline_->HasAudio()); |
} |
-TEST_F(PipelineTest, InitFailure_VideoDecoder) { |
- CreateAudioStream(); |
- CreateVideoStream(); |
- MockDemuxerStreamVector streams; |
- streams.push_back(audio_stream()); |
- streams.push_back(video_stream()); |
- |
- InitializeDemuxer(&streams); |
- InitializeAudioDecoder(audio_stream()); |
- InitializeAudioRenderer(); |
- |
- PipelineStatus expected_status = PIPELINE_ERROR_DECODE; |
- scoped_refptr<DemuxerStream> stream = streams[1]; |
- EXPECT_CALL(*mocks_->video_decoder(), |
- Initialize(stream, _, _)) |
- .WillOnce(RunPipelineStatusCB1WithStatus(expected_status)); |
- |
- EXPECT_CALL(*mocks_->demuxer(), Stop(_)) |
- .WillOnce(RunClosure()); |
- EXPECT_CALL(*mocks_->audio_renderer(), Stop(_)) |
- .WillOnce(RunClosure()); |
- |
- InitializePipeline(expected_status); |
- EXPECT_FALSE(pipeline_->IsInitialized()); |
- EXPECT_TRUE(pipeline_->HasAudio()); |
- EXPECT_FALSE(pipeline_->HasVideo()); |
-} |
- |
TEST_F(PipelineTest, InitFailure_VideoRenderer) { |
CreateAudioStream(); |
CreateVideoStream(); |
@@ -1002,13 +963,12 @@ TEST_F(PipelineTest, InitFailure_VideoRenderer) { |
InitializeDemuxer(&streams); |
InitializeAudioDecoder(audio_stream()); |
InitializeAudioRenderer(); |
- InitializeVideoDecoder(video_stream()); |
PipelineStatus expected_status = PIPELINE_ERROR_INITIALIZATION_FAILED; |
+ scoped_refptr<DemuxerStream> stream = streams[1]; |
EXPECT_CALL(*mocks_->video_renderer(), Initialize( |
- scoped_refptr<VideoDecoder>(mocks_->video_decoder()), |
- _, _, _, _, _, _, _, _)) |
- .WillOnce(RunPipelineStatusCB1WithStatus(expected_status)); |
+ stream, _, _, _, _, _, _, _, _, _)) |
+ .WillOnce(RunPipelineStatusCB2WithStatus(expected_status)); |
EXPECT_CALL(*mocks_->demuxer(), Stop(_)) |
.WillOnce(RunClosure()); |