summaryrefslogtreecommitdiffstats
path: root/chromium/media/base/pipeline_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/base/pipeline_unittest.cc')
-rw-r--r--chromium/media/base/pipeline_unittest.cc265
1 files changed, 73 insertions, 192 deletions
diff --git a/chromium/media/base/pipeline_unittest.cc b/chromium/media/base/pipeline_unittest.cc
index a7a8cae316c..45cc73ba36f 100644
--- a/chromium/media/base/pipeline_unittest.cc
+++ b/chromium/media/base/pipeline_unittest.cc
@@ -23,6 +23,7 @@
#include "ui/gfx/size.h"
using ::testing::_;
+using ::testing::AnyNumber;
using ::testing::DeleteArg;
using ::testing::DoAll;
// TODO(scherkus): Remove InSequence after refactoring Pipeline.
@@ -38,11 +39,7 @@ using ::testing::WithArg;
namespace media {
-// Demuxer properties.
-const int kTotalBytes = 1024;
-
ACTION_P(SetDemuxerProperties, duration) {
- arg0->SetTotalBytes(kTotalBytes);
arg0->SetDuration(duration);
}
@@ -66,7 +63,8 @@ class CallbackHelper {
MOCK_METHOD0(OnStop, void());
MOCK_METHOD0(OnEnded, void());
MOCK_METHOD1(OnError, void(PipelineStatus));
- MOCK_METHOD1(OnBufferingState, void(Pipeline::BufferingState));
+ MOCK_METHOD1(OnMetadata, void(PipelineMetadata));
+ MOCK_METHOD0(OnPrerollCompleted, void());
MOCK_METHOD0(OnDurationChange, void());
private:
@@ -111,6 +109,12 @@ class PipelineTest : public ::testing::Test {
EXPECT_CALL(*demuxer_, GetStartTime())
.WillRepeatedly(Return(base::TimeDelta()));
+
+ EXPECT_CALL(*demuxer_, GetTimelineOffset())
+ .WillRepeatedly(Return(base::Time()));
+
+ EXPECT_CALL(*demuxer_, GetLiveness())
+ .WillRepeatedly(Return(Demuxer::LIVENESS_UNKNOWN));
}
virtual ~PipelineTest() {
@@ -166,7 +170,7 @@ class PipelineTest : public ::testing::Test {
// Sets up expectations to allow the video renderer to initialize.
void InitializeVideoRenderer(DemuxerStream* stream) {
EXPECT_CALL(*video_renderer_, Initialize(stream, _, _, _, _, _, _, _, _))
- .WillOnce(RunCallback<1>(PIPELINE_OK));
+ .WillOnce(RunCallback<2>(PIPELINE_OK));
EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
// Startup sequence.
@@ -177,17 +181,10 @@ class PipelineTest : public ::testing::Test {
}
// Sets up expectations to allow the audio renderer to initialize.
- void InitializeAudioRenderer(DemuxerStream* stream,
- bool disable_after_init_cb) {
- if (disable_after_init_cb) {
- EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _, _))
- .WillOnce(DoAll(RunCallback<1>(PIPELINE_OK),
- WithArg<6>(RunClosure<0>()))); // |disabled_cb|.
- } else {
- EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _, _))
- .WillOnce(DoAll(SaveArg<4>(&audio_time_cb_),
- RunCallback<1>(PIPELINE_OK)));
- }
+ void InitializeAudioRenderer(DemuxerStream* stream) {
+ EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _))
+ .WillOnce(DoAll(SaveArg<4>(&audio_time_cb_),
+ RunCallback<1>(PIPELINE_OK)));
}
void AddTextStream() {
@@ -203,7 +200,7 @@ class PipelineTest : public ::testing::Test {
EXPECT_CALL(callbacks_, OnStart(start_status));
if (start_status == PIPELINE_OK) {
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kHaveMetadata));
+ EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_));
if (audio_stream_) {
EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
@@ -212,10 +209,9 @@ class PipelineTest : public ::testing::Test {
// Startup sequence.
EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _))
.WillOnce(RunCallback<1>(PIPELINE_OK));
- EXPECT_CALL(*audio_renderer_, Play(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StartRendering());
}
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kPrerollCompleted));
+ EXPECT_CALL(callbacks_, OnPrerollCompleted());
}
pipeline_->Start(
@@ -223,7 +219,8 @@ class PipelineTest : public ::testing::Test {
base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)),
- base::Bind(&CallbackHelper::OnBufferingState,
+ base::Bind(&CallbackHelper::OnMetadata, base::Unretained(&callbacks_)),
+ base::Bind(&CallbackHelper::OnPrerollCompleted,
base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnDurationChange,
base::Unretained(&callbacks_)));
@@ -240,7 +237,8 @@ class PipelineTest : public ::testing::Test {
}
void CreateTextStream() {
- scoped_ptr<FakeTextTrackStream> text_stream(new FakeTextTrackStream);
+ scoped_ptr<FakeTextTrackStream> text_stream(new FakeTextTrackStream());
+ EXPECT_CALL(*text_stream, OnRead()).Times(AnyNumber());
text_stream_ = text_stream.Pass();
}
@@ -262,21 +260,17 @@ class PipelineTest : public ::testing::Test {
.WillOnce(RunCallback<1>(PIPELINE_OK));
if (audio_stream_) {
- EXPECT_CALL(*audio_renderer_, Pause(_))
- .WillOnce(RunClosure<0>());
+ 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_, SetPlaybackRate(_));
EXPECT_CALL(*audio_renderer_, SetVolume(_));
- EXPECT_CALL(*audio_renderer_, Play(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StartRendering());
}
if (video_stream_) {
- EXPECT_CALL(*video_renderer_, Pause(_))
- .WillOnce(RunClosure<0>());
EXPECT_CALL(*video_renderer_, Flush(_))
.WillOnce(RunClosure<0>());
EXPECT_CALL(*video_renderer_, Preroll(seek_time, _))
@@ -286,7 +280,7 @@ class PipelineTest : public ::testing::Test {
.WillOnce(RunClosure<0>());
}
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kPrerollCompleted));
+ EXPECT_CALL(callbacks_, OnPrerollCompleted());
// We expect a successful seek callback.
EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK));
@@ -340,6 +334,7 @@ class PipelineTest : public ::testing::Test {
scoped_ptr<FakeTextTrackStream> text_stream_;
AudioRenderer::TimeCB audio_time_cb_;
VideoDecoderConfig video_decoder_config_;
+ PipelineMetadata metadata_;
private:
DISALLOW_COPY_AND_ASSIGN(PipelineTest);
@@ -351,8 +346,6 @@ TEST_F(PipelineTest, NotStarted) {
const base::TimeDelta kZero;
EXPECT_FALSE(pipeline_->IsRunning());
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_FALSE(pipeline_->HasVideo());
// Setting should still work.
EXPECT_EQ(0.0f, pipeline_->GetPlaybackRate());
@@ -371,14 +364,6 @@ TEST_F(PipelineTest, NotStarted) {
EXPECT_TRUE(kZero == pipeline_->GetMediaTime());
EXPECT_EQ(0u, pipeline_->GetBufferedTimeRanges().size());
EXPECT_TRUE(kZero == pipeline_->GetMediaDuration());
-
- EXPECT_EQ(0, pipeline_->GetTotalBytes());
-
- // Should always get set to zero.
- gfx::Size size(1, 1);
- pipeline_->GetNaturalVideoSize(&size);
- EXPECT_EQ(0, size.width());
- EXPECT_EQ(0, size.height());
}
TEST_F(PipelineTest, NeverInitializes) {
@@ -393,7 +378,8 @@ TEST_F(PipelineTest, NeverInitializes) {
base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)),
- base::Bind(&CallbackHelper::OnBufferingState,
+ base::Bind(&CallbackHelper::OnMetadata, base::Unretained(&callbacks_)),
+ base::Bind(&CallbackHelper::OnPrerollCompleted,
base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnDurationChange,
base::Unretained(&callbacks_)));
@@ -431,11 +417,11 @@ TEST_F(PipelineTest, AudioStream) {
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_TRUE(pipeline_->HasAudio());
- EXPECT_FALSE(pipeline_->HasVideo());
+ EXPECT_TRUE(metadata_.has_audio);
+ EXPECT_FALSE(metadata_.has_video);
}
TEST_F(PipelineTest, VideoStream) {
@@ -447,8 +433,8 @@ TEST_F(PipelineTest, VideoStream) {
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_FALSE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
}
TEST_F(PipelineTest, AudioVideoStream) {
@@ -459,12 +445,12 @@ TEST_F(PipelineTest, AudioVideoStream) {
streams.push_back(video_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_TRUE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_TRUE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
}
TEST_F(PipelineTest, VideoTextStream) {
@@ -477,8 +463,8 @@ TEST_F(PipelineTest, VideoTextStream) {
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_FALSE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
AddTextStream();
message_loop_.RunUntilIdle();
@@ -494,11 +480,11 @@ TEST_F(PipelineTest, VideoAudioTextStream) {
InitializeDemuxer(&streams);
InitializeVideoRenderer(video_stream());
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_TRUE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_TRUE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
AddTextStream();
message_loop_.RunUntilIdle();
@@ -513,7 +499,7 @@ TEST_F(PipelineTest, Seek) {
streams.push_back(video_stream());
InitializeDemuxer(&streams, base::TimeDelta::FromSeconds(3000));
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializeVideoRenderer(video_stream());
// Initialize then seek!
@@ -534,7 +520,7 @@ TEST_F(PipelineTest, SetVolume) {
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
// The audio renderer should receive a call to SetVolume().
float expected = 0.5f;
@@ -557,7 +543,6 @@ TEST_F(PipelineTest, Properties) {
InitializePipeline(PIPELINE_OK);
EXPECT_EQ(kDuration.ToInternalValue(),
pipeline_->GetMediaDuration().ToInternalValue());
- EXPECT_EQ(kTotalBytes, pipeline_->GetTotalBytes());
EXPECT_FALSE(pipeline_->DidLoadingProgress());
}
@@ -575,86 +560,18 @@ TEST_F(PipelineTest, GetBufferedTimeRanges) {
EXPECT_EQ(0u, pipeline_->GetBufferedTimeRanges().size());
EXPECT_FALSE(pipeline_->DidLoadingProgress());
- pipeline_->AddBufferedByteRange(0, kTotalBytes / 8);
+ pipeline_->AddBufferedTimeRange(base::TimeDelta(), kDuration / 8);
EXPECT_TRUE(pipeline_->DidLoadingProgress());
EXPECT_FALSE(pipeline_->DidLoadingProgress());
EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
EXPECT_EQ(base::TimeDelta(), pipeline_->GetBufferedTimeRanges().start(0));
EXPECT_EQ(kDuration / 8, pipeline_->GetBufferedTimeRanges().end(0));
- pipeline_->AddBufferedTimeRange(base::TimeDelta(), kDuration / 8);
- EXPECT_EQ(base::TimeDelta(), pipeline_->GetBufferedTimeRanges().start(0));
- EXPECT_EQ(kDuration / 8, pipeline_->GetBufferedTimeRanges().end(0));
base::TimeDelta kSeekTime = kDuration / 2;
ExpectSeek(kSeekTime);
DoSeek(kSeekTime);
- EXPECT_TRUE(pipeline_->DidLoadingProgress());
EXPECT_FALSE(pipeline_->DidLoadingProgress());
- pipeline_->AddBufferedByteRange(kTotalBytes / 2,
- kTotalBytes / 2 + kTotalBytes / 8);
- EXPECT_TRUE(pipeline_->DidLoadingProgress());
- EXPECT_FALSE(pipeline_->DidLoadingProgress());
- EXPECT_EQ(2u, pipeline_->GetBufferedTimeRanges().size());
- EXPECT_EQ(base::TimeDelta(), pipeline_->GetBufferedTimeRanges().start(0));
- EXPECT_EQ(kDuration / 8, pipeline_->GetBufferedTimeRanges().end(0));
- EXPECT_EQ(kDuration / 2, pipeline_->GetBufferedTimeRanges().start(1));
- EXPECT_EQ(kDuration / 2 + kDuration / 8,
- pipeline_->GetBufferedTimeRanges().end(1));
-
- pipeline_->AddBufferedTimeRange(kDuration / 4, 3 * kDuration / 8);
- EXPECT_EQ(base::TimeDelta(), pipeline_->GetBufferedTimeRanges().start(0));
- EXPECT_EQ(kDuration / 8, pipeline_->GetBufferedTimeRanges().end(0));
- EXPECT_EQ(kDuration / 4, pipeline_->GetBufferedTimeRanges().start(1));
- EXPECT_EQ(3* kDuration / 8, pipeline_->GetBufferedTimeRanges().end(1));
- EXPECT_EQ(kDuration / 2, pipeline_->GetBufferedTimeRanges().start(2));
- EXPECT_EQ(kDuration / 2 + kDuration / 8,
- pipeline_->GetBufferedTimeRanges().end(2));
-}
-
-TEST_F(PipelineTest, DisableAudioRenderer) {
- CreateAudioStream();
- CreateVideoStream();
- MockDemuxerStreamVector streams;
- streams.push_back(audio_stream());
- streams.push_back(video_stream());
-
- InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
- InitializeVideoRenderer(video_stream());
-
- InitializePipeline(PIPELINE_OK);
- EXPECT_TRUE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
-
- EXPECT_CALL(*demuxer_, OnAudioRendererDisabled());
- pipeline_->OnAudioDisabled();
-
- // Verify that ended event is fired when video ends.
- EXPECT_CALL(callbacks_, OnEnded());
- pipeline_->OnVideoRendererEnded();
-}
-
-TEST_F(PipelineTest, DisableAudioRendererDuringInit) {
- CreateAudioStream();
- CreateVideoStream();
- MockDemuxerStreamVector streams;
- streams.push_back(audio_stream());
- streams.push_back(video_stream());
-
- InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), true);
- InitializeVideoRenderer(video_stream());
-
- EXPECT_CALL(*demuxer_, OnAudioRendererDisabled());
-
- InitializePipeline(PIPELINE_OK);
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
-
- // Verify that ended event is fired when video ends.
- EXPECT_CALL(callbacks_, OnEnded());
- pipeline_->OnVideoRendererEnded();
}
TEST_F(PipelineTest, EndedCallback) {
@@ -666,7 +583,7 @@ TEST_F(PipelineTest, EndedCallback) {
streams.push_back(video_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
@@ -679,6 +596,7 @@ TEST_F(PipelineTest, EndedCallback) {
pipeline_->OnVideoRendererEnded();
message_loop_.RunUntilIdle();
+ EXPECT_CALL(*audio_renderer_, StopRendering());
EXPECT_CALL(callbacks_, OnEnded());
text_stream()->SendEosNotification();
message_loop_.RunUntilIdle();
@@ -693,12 +611,12 @@ TEST_F(PipelineTest, AudioStreamShorterThanVideo) {
streams.push_back(audio_stream());
streams.push_back(video_stream());
- // Replace the clock so we can simulate wallclock time advancing w/o using
+ // Replace the clock so we can simulate wall clock time advancing w/o using
// Sleep().
pipeline_->SetClockForTesting(new Clock(&test_tick_clock_));
InitializeDemuxer(&streams, duration);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
@@ -728,6 +646,7 @@ TEST_F(PipelineTest, AudioStreamShorterThanVideo) {
EXPECT_GT(pipeline_->GetMediaTime().ToInternalValue(), start_time);
// Signal end of video stream and make sure OnEnded() callback occurs.
+ EXPECT_CALL(*audio_renderer_, StopRendering());
EXPECT_CALL(callbacks_, OnEnded());
pipeline_->OnVideoRendererEnded();
}
@@ -738,7 +657,7 @@ TEST_F(PipelineTest, ErrorDuringSeek) {
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
float playback_rate = 1.0f;
@@ -749,8 +668,7 @@ TEST_F(PipelineTest, ErrorDuringSeek) {
base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
// Preroll() isn't called as the demuxer errors out first.
- EXPECT_CALL(*audio_renderer_, Pause(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StopRendering());
EXPECT_CALL(*audio_renderer_, Flush(_))
.WillOnce(RunClosure<0>());
EXPECT_CALL(*audio_renderer_, Stop(_))
@@ -792,7 +710,7 @@ TEST_F(PipelineTest, NoMessageDuringTearDownFromError) {
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
// Trigger additional requests on the pipeline during tear down from error.
@@ -804,8 +722,7 @@ TEST_F(PipelineTest, NoMessageDuringTearDownFromError) {
base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
// Seek() isn't called as the demuxer errors out first.
- EXPECT_CALL(*audio_renderer_, Pause(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StopRendering());
EXPECT_CALL(*audio_renderer_, Flush(_))
.WillOnce(RunClosure<0>());
EXPECT_CALL(*audio_renderer_, Stop(_))
@@ -832,8 +749,8 @@ TEST_F(PipelineTest, StartTimeIsZero) {
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_FALSE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
EXPECT_EQ(base::TimeDelta(), pipeline_->GetMediaTime());
}
@@ -853,8 +770,8 @@ TEST_F(PipelineTest, StartTimeIsNonZero) {
InitializeVideoRenderer(video_stream());
InitializePipeline(PIPELINE_OK);
- EXPECT_FALSE(pipeline_->HasAudio());
- EXPECT_TRUE(pipeline_->HasVideo());
+ EXPECT_FALSE(metadata_.has_audio);
+ EXPECT_TRUE(metadata_.has_video);
EXPECT_EQ(kStartTime, pipeline_->GetMediaTime());
}
@@ -872,7 +789,7 @@ TEST_F(PipelineTest, AudioTimeUpdateDuringSeek) {
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
float playback_rate = 1.0f;
@@ -895,18 +812,16 @@ TEST_F(PipelineTest, AudioTimeUpdateDuringSeek) {
.WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run),
RunCallback<1>(PIPELINE_OK)));
- EXPECT_CALL(*audio_renderer_, Pause(_))
- .WillOnce(RunClosure<0>());
+ 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_, SetPlaybackRate(_));
EXPECT_CALL(*audio_renderer_, SetVolume(_));
- EXPECT_CALL(*audio_renderer_, Play(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StartRendering());
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kPrerollCompleted));
+ EXPECT_CALL(callbacks_, OnPrerollCompleted());
EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK));
DoSeek(seek_time);
@@ -929,7 +844,7 @@ TEST_F(PipelineTest, DeleteAfterStop) {
MockDemuxerStreamVector streams;
streams.push_back(audio_stream());
InitializeDemuxer(&streams);
- InitializeAudioRenderer(audio_stream(), false);
+ InitializeAudioRenderer(audio_stream());
InitializePipeline(PIPELINE_OK);
ExpectStop();
@@ -945,11 +860,9 @@ class PipelineTeardownTest : public PipelineTest {
kInitDemuxer,
kInitAudioRenderer,
kInitVideoRenderer,
- kPausing,
kFlushing,
kSeeking,
kPrerolling,
- kStarting,
kPlaying,
};
@@ -970,11 +883,9 @@ class PipelineTeardownTest : public PipelineTest {
DoInitialize(state, stop_or_error);
break;
- case kPausing:
case kFlushing:
case kSeeking:
case kPrerolling:
- case kStarting:
DoInitialize(state, stop_or_error);
DoSeek(state, stop_or_error);
break;
@@ -1000,7 +911,8 @@ class PipelineTeardownTest : public PipelineTest {
base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)),
- base::Bind(&CallbackHelper::OnBufferingState,
+ base::Bind(&CallbackHelper::OnMetadata, base::Unretained(&callbacks_)),
+ base::Bind(&CallbackHelper::OnPrerollCompleted,
base::Unretained(&callbacks_)),
base::Bind(&CallbackHelper::OnDurationChange,
base::Unretained(&callbacks_)));
@@ -1038,13 +950,13 @@ class PipelineTeardownTest : public PipelineTest {
if (state == kInitAudioRenderer) {
if (stop_or_error == kStop) {
- EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _, _))
+ EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _))
.WillOnce(DoAll(Stop(pipeline_.get(), stop_cb),
RunCallback<1>(PIPELINE_OK)));
EXPECT_CALL(callbacks_, OnStop());
} else {
status = PIPELINE_ERROR_INITIALIZATION_FAILED;
- EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _, _))
+ EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _))
.WillOnce(RunCallback<1>(status));
}
@@ -1053,19 +965,19 @@ class PipelineTeardownTest : public PipelineTest {
return status;
}
- EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _, _))
+ EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _))
.WillOnce(RunCallback<1>(PIPELINE_OK));
if (state == kInitVideoRenderer) {
if (stop_or_error == kStop) {
EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
.WillOnce(DoAll(Stop(pipeline_.get(), stop_cb),
- RunCallback<1>(PIPELINE_OK)));
+ RunCallback<2>(PIPELINE_OK)));
EXPECT_CALL(callbacks_, OnStop());
} else {
status = PIPELINE_ERROR_INITIALIZATION_FAILED;
EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
- .WillOnce(RunCallback<1>(status));
+ .WillOnce(RunCallback<2>(status));
}
EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>());
@@ -1075,9 +987,9 @@ class PipelineTeardownTest : public PipelineTest {
}
EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
- .WillOnce(RunCallback<1>(PIPELINE_OK));
+ .WillOnce(RunCallback<2>(PIPELINE_OK));
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kHaveMetadata));
+ EXPECT_CALL(callbacks_, OnMetadata(_));
// If we get here it's a successful initialization.
EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _))
@@ -1089,13 +1001,12 @@ class PipelineTeardownTest : public PipelineTest {
EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
- EXPECT_CALL(*audio_renderer_, Play(_))
- .WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StartRendering());
EXPECT_CALL(*video_renderer_, Play(_))
.WillOnce(RunClosure<0>());
if (status == PIPELINE_OK)
- EXPECT_CALL(callbacks_, OnBufferingState(Pipeline::kPrerollCompleted));
+ EXPECT_CALL(callbacks_, OnPrerollCompleted());
return status;
}
@@ -1124,21 +1035,7 @@ class PipelineTeardownTest : public PipelineTest {
base::Closure stop_cb = base::Bind(
&CallbackHelper::OnStop, base::Unretained(&callbacks_));
- if (state == kPausing) {
- if (stop_or_error == kStop) {
- EXPECT_CALL(*audio_renderer_, Pause(_))
- .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), RunClosure<0>()));
- } else {
- status = PIPELINE_ERROR_READ;
- EXPECT_CALL(*audio_renderer_, Pause(_)).WillOnce(
- DoAll(SetError(pipeline_.get(), status), RunClosure<0>()));
- }
-
- return status;
- }
-
- EXPECT_CALL(*audio_renderer_, Pause(_)).WillOnce(RunClosure<0>());
- EXPECT_CALL(*video_renderer_, Pause(_)).WillOnce(RunClosure<0>());
+ EXPECT_CALL(*audio_renderer_, StopRendering());
if (state == kFlushing) {
if (stop_or_error == kStop) {
@@ -1197,18 +1094,6 @@ class PipelineTeardownTest : public PipelineTest {
EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
- if (state == kStarting) {
- if (stop_or_error == kStop) {
- EXPECT_CALL(*audio_renderer_, Play(_))
- .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), RunClosure<0>()));
- } else {
- status = PIPELINE_ERROR_READ;
- EXPECT_CALL(*audio_renderer_, Play(_)).WillOnce(
- DoAll(SetError(pipeline_.get(), status), RunClosure<0>()));
- }
- return status;
- }
-
NOTREACHED() << "State not supported: " << state;
return status;
}
@@ -1254,21 +1139,17 @@ class PipelineTeardownTest : public PipelineTest {
INSTANTIATE_TEARDOWN_TEST(Stop, InitDemuxer);
INSTANTIATE_TEARDOWN_TEST(Stop, InitAudioRenderer);
INSTANTIATE_TEARDOWN_TEST(Stop, InitVideoRenderer);
-INSTANTIATE_TEARDOWN_TEST(Stop, Pausing);
INSTANTIATE_TEARDOWN_TEST(Stop, Flushing);
INSTANTIATE_TEARDOWN_TEST(Stop, Seeking);
INSTANTIATE_TEARDOWN_TEST(Stop, Prerolling);
-INSTANTIATE_TEARDOWN_TEST(Stop, Starting);
INSTANTIATE_TEARDOWN_TEST(Stop, Playing);
INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer);
INSTANTIATE_TEARDOWN_TEST(Error, InitAudioRenderer);
INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer);
-INSTANTIATE_TEARDOWN_TEST(Error, Pausing);
INSTANTIATE_TEARDOWN_TEST(Error, Flushing);
INSTANTIATE_TEARDOWN_TEST(Error, Seeking);
INSTANTIATE_TEARDOWN_TEST(Error, Prerolling);
-INSTANTIATE_TEARDOWN_TEST(Error, Starting);
INSTANTIATE_TEARDOWN_TEST(Error, Playing);
INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing);