summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-11 01:25:39 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-11 01:25:39 +0000
commit2ad5ef50f9fb03975744312afcb43392cd2a0d54 (patch)
tree2cd1fdd5d487694ac8172eb0173b521913dcb918
parent0e4790849afff26e0775fc877582487da3799d84 (diff)
downloadchromium_src-2ad5ef50f9fb03975744312afcb43392cd2a0d54.zip
chromium_src-2ad5ef50f9fb03975744312afcb43392cd2a0d54.tar.gz
chromium_src-2ad5ef50f9fb03975744312afcb43392cd2a0d54.tar.bz2
Remove VideoRenderer::Pause() as it serves no real purpose.
Flush() already accomplishes pausing by releasing all data and not reading until Preroll() is called. BUG=110814 Review URL: https://codereview.chromium.org/271923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269675 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--media/base/mock_filters.h1
-rw-r--r--media/base/pipeline.cc4
-rw-r--r--media/base/pipeline_unittest.cc3
-rw-r--r--media/base/video_renderer.h7
-rw-r--r--media/filters/video_renderer_impl.cc13
-rw-r--r--media/filters/video_renderer_impl.h10
-rw-r--r--media/filters/video_renderer_impl_unittest.cc20
7 files changed, 11 insertions, 47 deletions
diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h
index 4771e14..31dec4e 100644
--- a/media/base/mock_filters.h
+++ b/media/base/mock_filters.h
@@ -123,7 +123,6 @@ class MockVideoRenderer : public VideoRenderer {
const TimeDeltaCB& get_time_cb,
const TimeDeltaCB& get_duration_cb));
MOCK_METHOD1(Play, void(const base::Closure& callback));
- MOCK_METHOD1(Pause, void(const base::Closure& callback));
MOCK_METHOD1(Flush, void(const base::Closure& callback));
MOCK_METHOD2(Preroll, void(base::TimeDelta time, const PipelineStatusCB& cb));
MOCK_METHOD1(Stop, void(const base::Closure& callback));
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
index 385db3a..3cfe296 100644
--- a/media/base/pipeline.cc
+++ b/media/base/pipeline.cc
@@ -486,10 +486,6 @@ void Pipeline::DoSeek(
bound_fns.Push(base::Bind(
&AudioRenderer::Pause, base::Unretained(audio_renderer_.get())));
}
- if (video_renderer_) {
- bound_fns.Push(base::Bind(
- &VideoRenderer::Pause, base::Unretained(video_renderer_.get())));
- }
if (text_renderer_) {
bound_fns.Push(base::Bind(
&TextRenderer::Pause, base::Unretained(text_renderer_.get())));
diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc
index 2c559c1..d2a7a8f 100644
--- a/media/base/pipeline_unittest.cc
+++ b/media/base/pipeline_unittest.cc
@@ -269,8 +269,6 @@ class PipelineTest : public ::testing::Test {
}
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, _))
@@ -1051,7 +1049,6 @@ class PipelineTeardownTest : public PipelineTest {
}
EXPECT_CALL(*audio_renderer_, Pause());
- EXPECT_CALL(*video_renderer_, Pause(_)).WillOnce(RunClosure<0>());
if (state == kFlushing) {
if (stop_or_error == kStop) {
diff --git a/media/base/video_renderer.h b/media/base/video_renderer.h
index 27e4bf5..b4154a0 100644
--- a/media/base/video_renderer.h
+++ b/media/base/video_renderer.h
@@ -57,11 +57,8 @@ class MEDIA_EXPORT VideoRenderer {
// |callback| when playback is underway.
virtual void Play(const base::Closure& callback) = 0;
- // Temporarily suspend decoding and rendering video, executing |callback| when
- // playback has been suspended.
- virtual void Pause(const base::Closure& callback) = 0;
-
- // Discard any video data, executing |callback| when completed.
+ // Discard any video data and stop reading from |stream|, executing |callback|
+ // when completed.
virtual void Flush(const base::Closure& callback) = 0;
// Start prerolling video data. If |time| equals kNoTimestamp() then all
diff --git a/media/filters/video_renderer_impl.cc b/media/filters/video_renderer_impl.cc
index 56dda7b..736a91f 100644
--- a/media/filters/video_renderer_impl.cc
+++ b/media/filters/video_renderer_impl.cc
@@ -57,18 +57,10 @@ void VideoRendererImpl::Play(const base::Closure& callback) {
callback.Run();
}
-void VideoRendererImpl::Pause(const base::Closure& callback) {
- DCHECK(task_runner_->BelongsToCurrentThread());
- base::AutoLock auto_lock(lock_);
- DCHECK_NE(state_, kUninitialized);
- state_ = kPaused;
- callback.Run();
-}
-
void VideoRendererImpl::Flush(const base::Closure& callback) {
DCHECK(task_runner_->BelongsToCurrentThread());
base::AutoLock auto_lock(lock_);
- DCHECK_EQ(state_, kPaused);
+ DCHECK_NE(state_, kUninitialized);
flush_cb_ = callback;
state_ = kFlushing;
@@ -128,7 +120,7 @@ void VideoRendererImpl::Preroll(base::TimeDelta time,
base::AutoLock auto_lock(lock_);
DCHECK(!cb.is_null());
DCHECK(preroll_cb_.is_null());
- DCHECK(state_ == kFlushed || state_== kPaused) << "state_ " << state_;
+ DCHECK(state_ == kFlushed || state_ == kPlaying) << "state_ " << state_;
if (state_ == kFlushed) {
DCHECK(time != kNoTimestamp());
@@ -449,7 +441,6 @@ void VideoRendererImpl::AttemptRead_Locked() {
}
switch (state_) {
- case kPaused:
case kPrerolling:
case kPrerolled:
case kPlaying:
diff --git a/media/filters/video_renderer_impl.h b/media/filters/video_renderer_impl.h
index cf4061b..4fef25d 100644
--- a/media/filters/video_renderer_impl.h
+++ b/media/filters/video_renderer_impl.h
@@ -66,7 +66,6 @@ class MEDIA_EXPORT VideoRendererImpl
const TimeDeltaCB& get_time_cb,
const TimeDeltaCB& get_duration_cb) OVERRIDE;
virtual void Play(const base::Closure& callback) OVERRIDE;
- virtual void Pause(const base::Closure& callback) OVERRIDE;
virtual void Flush(const base::Closure& callback) OVERRIDE;
virtual void Preroll(base::TimeDelta time,
const PipelineStatusCB& cb) OVERRIDE;
@@ -164,13 +163,13 @@ class MEDIA_EXPORT VideoRendererImpl
// | | Preroll() or upon ^
// | V got first frame [kFlushing]
// | [kPrerolling] ^
- // | | | Flush()
+ // | | |
// | V Got enough frames |
- // | [kPrerolled]---------------------->[kPaused]
- // | | Pause() ^
+ // | [kPrerolled]--------------------------|
+ // | | Flush() ^
// | V Play() |
// | [kPlaying]---------------------------|
- // | Pause() ^ Pause()
+ // | Flush() ^ Flush()
// | |
// +-----> [kStopped] [Any state other than]
// [ kUninitialized ]
@@ -180,7 +179,6 @@ class MEDIA_EXPORT VideoRendererImpl
kUninitialized,
kInitializing,
kPrerolled,
- kPaused,
kFlushing,
kFlushed,
kPrerolling,
diff --git a/media/filters/video_renderer_impl_unittest.cc b/media/filters/video_renderer_impl_unittest.cc
index 6ba6bae..e51391c 100644
--- a/media/filters/video_renderer_impl_unittest.cc
+++ b/media/filters/video_renderer_impl_unittest.cc
@@ -146,13 +146,6 @@ class VideoRendererImplTest : public ::testing::Test {
event.RunAndWaitForStatus(expected);
}
- void Pause() {
- SCOPED_TRACE("Pause()");
- WaitableMessageLoopEvent event;
- renderer_->Pause(event.GetClosure());
- event.RunAndWait();
- }
-
void Flush() {
SCOPED_TRACE("Flush()");
WaitableMessageLoopEvent event;
@@ -168,7 +161,6 @@ class VideoRendererImplTest : public ::testing::Test {
}
void Shutdown() {
- Pause();
Flush();
Stop();
}
@@ -396,7 +388,6 @@ TEST_F(VideoRendererImplTest, StopWhileInitializing) {
TEST_F(VideoRendererImplTest, StopWhileFlushing) {
Initialize();
- Pause();
renderer_->Flush(base::Bind(&ExpectNotCalled, PIPELINE_OK));
Stop();
@@ -525,9 +516,7 @@ TEST_F(VideoRendererImplTest, Rebuffer) {
AdvanceTimeInMs(50);
WaitForPendingRead();
- // Simulate a Pause/Preroll/Play rebuffer sequence.
- Pause();
-
+ // Simulate a Preroll/Play rebuffer sequence.
WaitableMessageLoopEvent event;
renderer_->Preroll(kNoTimestamp(),
event.GetPipelineStatusCB());
@@ -559,9 +548,8 @@ TEST_F(VideoRendererImplTest, Rebuffer_AlreadyHaveEnoughFrames) {
SatisfyPendingRead();
Play();
- // Simulate a Pause/Preroll/Play rebuffer sequence.
- Pause();
-
+ // Simulate a Preroll/Play rebuffer sequence.
+ //
// TODO(scherkus): We shouldn't display the next ready frame in a rebuffer
// situation, see http://crbug.com/365516
EXPECT_CALL(mock_display_cb_, Display(_)).Times(AtLeast(1));
@@ -606,7 +594,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Playing) {
QueueFrames("abort");
SatisfyPendingRead();
- Pause();
Flush();
QueueFrames("60 70 80 90");
EXPECT_CALL(mock_display_cb_, Display(HasTimestamp(60)));
@@ -624,7 +611,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Flush) {
// Check that there is an outstanding Read() request.
EXPECT_TRUE(IsReadPending());
- Pause();
Flush();
Shutdown();
}