Commit 2ad5ef50 authored by scherkus@chromium.org's avatar scherkus@chromium.org

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
parent 0e479084
......@@ -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));
......
......@@ -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())));
......
......@@ -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) {
......
......@@ -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
......
......@@ -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:
......
......@@ -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,
......
......@@ -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();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment