Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(916)

Unified Diff: media/base/pipeline_impl_unittest.cc

Issue 1955843002: Move Renderer permanent callbacks into RendererClient interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/pipeline_impl.cc ('k') | media/base/renderer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/pipeline_impl_unittest.cc
diff --git a/media/base/pipeline_impl_unittest.cc b/media/base/pipeline_impl_unittest.cc
index d66ee8b9dc7fa807b166a3b68b4ef928ea4626a4..e6c062146e451c1628bf9c66c8b73b8cdf92a5e6 100644
--- a/media/base/pipeline_impl_unittest.cc
+++ b/media/base/pipeline_impl_unittest.cc
@@ -56,8 +56,8 @@ ACTION_P2(SetError, pipeline, status) {
pipeline->SetErrorForTesting(status);
}
-ACTION_P2(SetBufferingState, cb, buffering_state) {
- cb->Run(buffering_state);
+ACTION_P2(SetBufferingState, renderer_client, buffering_state) {
+ (*renderer_client)->OnBufferingStateChange(buffering_state);
}
ACTION_TEMPLATE(PostCallback,
@@ -106,7 +106,8 @@ class PipelineImplTest : public ::testing::Test {
new PipelineImpl(message_loop_.task_runner(), new MediaLog())),
demuxer_(new StrictMock<MockDemuxer>()),
scoped_renderer_(new StrictMock<MockRenderer>()),
- renderer_(scoped_renderer_.get()) {
+ renderer_(scoped_renderer_.get()),
+ renderer_client_(nullptr) {
// SetDemuxerExpectations() adds overriding expectations for expected
// non-NULL streams.
DemuxerStream* null_pointer = NULL;
@@ -177,10 +178,9 @@ class PipelineImplTest : public ::testing::Test {
// Sets up expectations to allow the video renderer to initialize.
void SetRendererExpectations() {
- EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _, _))
- .WillOnce(DoAll(SaveArg<2>(&statistics_cb_),
- SaveArg<3>(&buffering_state_cb_),
- SaveArg<4>(&ended_cb_), PostCallback<1>(PIPELINE_OK)));
+ EXPECT_CALL(*renderer_, Initialize(_, _, _))
+ .WillOnce(
+ DoAll(SaveArg<1>(&renderer_client_), PostCallback<2>(PIPELINE_OK)));
EXPECT_CALL(*renderer_, HasAudio()).WillRepeatedly(Return(audio_stream()));
EXPECT_CALL(*renderer_, HasVideo()).WillRepeatedly(Return(video_stream()));
}
@@ -212,7 +212,7 @@ class PipelineImplTest : public ::testing::Test {
EXPECT_CALL(*renderer_, SetVolume(1.0f));
EXPECT_CALL(*renderer_, StartPlayingFrom(start_time_))
.WillOnce(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_ENOUGH));
+ SetBufferingState(&renderer_client_, BUFFERING_HAVE_ENOUGH));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
}
@@ -246,14 +246,13 @@ class PipelineImplTest : public ::testing::Test {
.WillOnce(RunCallback<1>(PIPELINE_OK));
EXPECT_CALL(*renderer_, Flush(_))
- .WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
- RunClosure<0>()));
+ .WillOnce(
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
+ RunClosure<0>()));
EXPECT_CALL(*renderer_, SetPlaybackRate(_));
EXPECT_CALL(*renderer_, SetVolume(_));
EXPECT_CALL(*renderer_, StartPlayingFrom(seek_time))
- .WillOnce(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_ENOUGH));
+ .WillOnce(SetBufferingState(&renderer_client_, BUFFERING_HAVE_ENOUGH));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
// We expect a successful seek callback followed by a buffering update.
@@ -270,9 +269,9 @@ class PipelineImplTest : public ::testing::Test {
void ExpectSuspend() {
EXPECT_CALL(*renderer_, SetPlaybackRate(0));
EXPECT_CALL(*renderer_, Flush(_))
- .WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
- RunClosure<0>()));
+ .WillOnce(
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
+ RunClosure<0>()));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
EXPECT_CALL(callbacks_, OnSuspend(PIPELINE_OK));
}
@@ -294,8 +293,7 @@ class PipelineImplTest : public ::testing::Test {
EXPECT_CALL(*renderer_, SetPlaybackRate(_));
EXPECT_CALL(*renderer_, SetVolume(_));
EXPECT_CALL(*renderer_, StartPlayingFrom(seek_time))
- .WillOnce(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_ENOUGH));
+ .WillOnce(SetBufferingState(&renderer_client_, BUFFERING_HAVE_ENOUGH));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
EXPECT_CALL(callbacks_, OnResume(PIPELINE_OK));
}
@@ -352,9 +350,7 @@ class PipelineImplTest : public ::testing::Test {
std::unique_ptr<StrictMock<MockDemuxerStream>> audio_stream_;
std::unique_ptr<StrictMock<MockDemuxerStream>> video_stream_;
std::unique_ptr<FakeTextTrackStream> text_stream_;
- BufferingStateCB buffering_state_cb_;
- base::Closure ended_cb_;
- StatisticsCB statistics_cb_;
+ RendererClient* renderer_client_;
VideoDecoderConfig video_decoder_config_;
PipelineMetadata metadata_;
base::TimeDelta start_time_;
@@ -584,7 +580,7 @@ TEST_F(PipelineImplTest, SuspendResume) {
PipelineStatistics stats;
stats.audio_memory_usage = 12345;
stats.video_memory_usage = 67890;
- statistics_cb_.Run(stats);
+ renderer_client_->OnStatisticsUpdate(stats);
EXPECT_EQ(stats.audio_memory_usage,
pipeline_->GetStatistics().audio_memory_usage);
EXPECT_EQ(stats.video_memory_usage,
@@ -682,7 +678,7 @@ TEST_F(PipelineImplTest, EndedCallback) {
AddTextStream();
// The ended callback shouldn't run until all renderers have ended.
- ended_cb_.Run();
+ renderer_client_->OnEnded();
message_loop_.RunUntilIdle();
EXPECT_CALL(callbacks_, OnEnded());
@@ -709,7 +705,7 @@ TEST_F(PipelineImplTest, ErrorDuringSeek) {
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
EXPECT_CALL(*renderer_, Flush(_))
.WillOnce(
- DoAll(SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
RunClosure<0>()));
EXPECT_CALL(*demuxer_, Seek(seek_time, _))
@@ -761,7 +757,7 @@ TEST_F(PipelineImplTest, NoMessageDuringTearDownFromError) {
// Seek() isn't called as the demuxer errors out first.
EXPECT_CALL(*renderer_, Flush(_))
.WillOnce(
- DoAll(SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
RunClosure<0>()));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
@@ -801,7 +797,7 @@ TEST_F(PipelineImplTest, Underflow) {
// Simulate underflow.
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
- buffering_state_cb_.Run(BUFFERING_HAVE_NOTHING);
+ renderer_client_->OnBufferingStateChange(BUFFERING_HAVE_NOTHING);
message_loop_.RunUntilIdle();
// Seek while underflowed.
@@ -913,14 +909,14 @@ class PipelineTeardownTest : public PipelineImplTest {
if (state == kInitRenderer) {
if (stop_or_error == kStop) {
- EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _, _))
+ EXPECT_CALL(*renderer_, Initialize(_, _, _))
.WillOnce(
- DoAll(Stop(pipeline_.get()), PostCallback<1>(PIPELINE_OK)));
+ DoAll(Stop(pipeline_.get()), PostCallback<2>(PIPELINE_OK)));
// Note: OnStart or OnMetadata callback are not called
// after pipeline is stopped.
} else {
- EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _, _))
- .WillOnce(PostCallback<1>(PIPELINE_ERROR_INITIALIZATION_FAILED));
+ EXPECT_CALL(*renderer_, Initialize(_, _, _))
+ .WillOnce(PostCallback<2>(PIPELINE_ERROR_INITIALIZATION_FAILED));
EXPECT_CALL(callbacks_, OnMetadata(_));
EXPECT_CALL(callbacks_, OnStart(PIPELINE_ERROR_INITIALIZATION_FAILED));
}
@@ -929,9 +925,9 @@ class PipelineTeardownTest : public PipelineImplTest {
return;
}
- EXPECT_CALL(*renderer_, Initialize(_, _, _, _, _, _, _))
- .WillOnce(DoAll(SaveArg<3>(&buffering_state_cb_),
- PostCallback<1>(PIPELINE_OK)));
+ EXPECT_CALL(*renderer_, Initialize(_, _, _))
+ .WillOnce(
+ DoAll(SaveArg<1>(&renderer_client_), PostCallback<2>(PIPELINE_OK)));
// If we get here it's a successful initialization.
EXPECT_CALL(callbacks_, OnStart(PIPELINE_OK));
@@ -940,8 +936,7 @@ class PipelineTeardownTest : public PipelineImplTest {
EXPECT_CALL(*renderer_, SetPlaybackRate(0.0));
EXPECT_CALL(*renderer_, SetVolume(1.0f));
EXPECT_CALL(*renderer_, StartPlayingFrom(base::TimeDelta()))
- .WillOnce(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_ENOUGH));
+ .WillOnce(SetBufferingState(&renderer_client_, BUFFERING_HAVE_ENOUGH));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
}
@@ -961,14 +956,14 @@ class PipelineTeardownTest : public PipelineImplTest {
if (stop_or_error == kStop) {
EXPECT_CALL(*renderer_, Flush(_))
.WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
+ SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
Stop(pipeline_.get()), RunClosure<0>()));
// Note: OnBufferingStateChange or OnSeek callbacks are not called
// after pipeline is stopped.
} else {
EXPECT_CALL(*renderer_, Flush(_))
.WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
+ SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
SetError(pipeline_.get(), PIPELINE_ERROR_READ),
RunClosure<0>()));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
@@ -978,9 +973,9 @@ class PipelineTeardownTest : public PipelineImplTest {
}
EXPECT_CALL(*renderer_, Flush(_))
- .WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
- RunClosure<0>()));
+ .WillOnce(
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
+ RunClosure<0>()));
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
if (state == kSeeking) {
@@ -1024,9 +1019,9 @@ class PipelineTeardownTest : public PipelineImplTest {
EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_NOTHING));
EXPECT_CALL(callbacks_, OnSuspend(PIPELINE_OK));
EXPECT_CALL(*renderer_, Flush(_))
- .WillOnce(DoAll(
- SetBufferingState(&buffering_state_cb_, BUFFERING_HAVE_NOTHING),
- RunClosure<0>()));
+ .WillOnce(
+ DoAll(SetBufferingState(&renderer_client_, BUFFERING_HAVE_NOTHING),
+ RunClosure<0>()));
if (state == kResuming) {
if (stop_or_error == kStop) {
EXPECT_CALL(*demuxer_, Seek(_, _))
« no previous file with comments | « media/base/pipeline_impl.cc ('k') | media/base/renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698