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 { ...@@ -123,7 +123,6 @@ class MockVideoRenderer : public VideoRenderer {
const TimeDeltaCB& get_time_cb, const TimeDeltaCB& get_time_cb,
const TimeDeltaCB& get_duration_cb)); const TimeDeltaCB& get_duration_cb));
MOCK_METHOD1(Play, void(const base::Closure& callback)); 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_METHOD1(Flush, void(const base::Closure& callback));
MOCK_METHOD2(Preroll, void(base::TimeDelta time, const PipelineStatusCB& cb)); MOCK_METHOD2(Preroll, void(base::TimeDelta time, const PipelineStatusCB& cb));
MOCK_METHOD1(Stop, void(const base::Closure& callback)); MOCK_METHOD1(Stop, void(const base::Closure& callback));
......
...@@ -486,10 +486,6 @@ void Pipeline::DoSeek( ...@@ -486,10 +486,6 @@ void Pipeline::DoSeek(
bound_fns.Push(base::Bind( bound_fns.Push(base::Bind(
&AudioRenderer::Pause, base::Unretained(audio_renderer_.get()))); &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_) { if (text_renderer_) {
bound_fns.Push(base::Bind( bound_fns.Push(base::Bind(
&TextRenderer::Pause, base::Unretained(text_renderer_.get()))); &TextRenderer::Pause, base::Unretained(text_renderer_.get())));
......
...@@ -269,8 +269,6 @@ class PipelineTest : public ::testing::Test { ...@@ -269,8 +269,6 @@ class PipelineTest : public ::testing::Test {
} }
if (video_stream_) { if (video_stream_) {
EXPECT_CALL(*video_renderer_, Pause(_))
.WillOnce(RunClosure<0>());
EXPECT_CALL(*video_renderer_, Flush(_)) EXPECT_CALL(*video_renderer_, Flush(_))
.WillOnce(RunClosure<0>()); .WillOnce(RunClosure<0>());
EXPECT_CALL(*video_renderer_, Preroll(seek_time, _)) EXPECT_CALL(*video_renderer_, Preroll(seek_time, _))
...@@ -1051,7 +1049,6 @@ class PipelineTeardownTest : public PipelineTest { ...@@ -1051,7 +1049,6 @@ class PipelineTeardownTest : public PipelineTest {
} }
EXPECT_CALL(*audio_renderer_, Pause()); EXPECT_CALL(*audio_renderer_, Pause());
EXPECT_CALL(*video_renderer_, Pause(_)).WillOnce(RunClosure<0>());
if (state == kFlushing) { if (state == kFlushing) {
if (stop_or_error == kStop) { if (stop_or_error == kStop) {
......
...@@ -57,11 +57,8 @@ class MEDIA_EXPORT VideoRenderer { ...@@ -57,11 +57,8 @@ class MEDIA_EXPORT VideoRenderer {
// |callback| when playback is underway. // |callback| when playback is underway.
virtual void Play(const base::Closure& callback) = 0; virtual void Play(const base::Closure& callback) = 0;
// Temporarily suspend decoding and rendering video, executing |callback| when // Discard any video data and stop reading from |stream|, executing |callback|
// playback has been suspended. // when completed.
virtual void Pause(const base::Closure& callback) = 0;
// Discard any video data, executing |callback| when completed.
virtual void Flush(const base::Closure& callback) = 0; virtual void Flush(const base::Closure& callback) = 0;
// Start prerolling video data. If |time| equals kNoTimestamp() then all // Start prerolling video data. If |time| equals kNoTimestamp() then all
......
...@@ -57,18 +57,10 @@ void VideoRendererImpl::Play(const base::Closure& callback) { ...@@ -57,18 +57,10 @@ void VideoRendererImpl::Play(const base::Closure& callback) {
callback.Run(); 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) { void VideoRendererImpl::Flush(const base::Closure& callback) {
DCHECK(task_runner_->BelongsToCurrentThread()); DCHECK(task_runner_->BelongsToCurrentThread());
base::AutoLock auto_lock(lock_); base::AutoLock auto_lock(lock_);
DCHECK_EQ(state_, kPaused); DCHECK_NE(state_, kUninitialized);
flush_cb_ = callback; flush_cb_ = callback;
state_ = kFlushing; state_ = kFlushing;
...@@ -128,7 +120,7 @@ void VideoRendererImpl::Preroll(base::TimeDelta time, ...@@ -128,7 +120,7 @@ void VideoRendererImpl::Preroll(base::TimeDelta time,
base::AutoLock auto_lock(lock_); base::AutoLock auto_lock(lock_);
DCHECK(!cb.is_null()); DCHECK(!cb.is_null());
DCHECK(preroll_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) { if (state_ == kFlushed) {
DCHECK(time != kNoTimestamp()); DCHECK(time != kNoTimestamp());
...@@ -449,7 +441,6 @@ void VideoRendererImpl::AttemptRead_Locked() { ...@@ -449,7 +441,6 @@ void VideoRendererImpl::AttemptRead_Locked() {
} }
switch (state_) { switch (state_) {
case kPaused:
case kPrerolling: case kPrerolling:
case kPrerolled: case kPrerolled:
case kPlaying: case kPlaying:
......
...@@ -66,7 +66,6 @@ class MEDIA_EXPORT VideoRendererImpl ...@@ -66,7 +66,6 @@ class MEDIA_EXPORT VideoRendererImpl
const TimeDeltaCB& get_time_cb, const TimeDeltaCB& get_time_cb,
const TimeDeltaCB& get_duration_cb) OVERRIDE; const TimeDeltaCB& get_duration_cb) OVERRIDE;
virtual void Play(const base::Closure& callback) 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 Flush(const base::Closure& callback) OVERRIDE;
virtual void Preroll(base::TimeDelta time, virtual void Preroll(base::TimeDelta time,
const PipelineStatusCB& cb) OVERRIDE; const PipelineStatusCB& cb) OVERRIDE;
...@@ -164,13 +163,13 @@ class MEDIA_EXPORT VideoRendererImpl ...@@ -164,13 +163,13 @@ class MEDIA_EXPORT VideoRendererImpl
// | | Preroll() or upon ^ // | | Preroll() or upon ^
// | V got first frame [kFlushing] // | V got first frame [kFlushing]
// | [kPrerolling] ^ // | [kPrerolling] ^
// | | | Flush() // | | |
// | V Got enough frames | // | V Got enough frames |
// | [kPrerolled]---------------------->[kPaused] // | [kPrerolled]--------------------------|
// | | Pause() ^ // | | Flush() ^
// | V Play() | // | V Play() |
// | [kPlaying]---------------------------| // | [kPlaying]---------------------------|
// | Pause() ^ Pause() // | Flush() ^ Flush()
// | | // | |
// +-----> [kStopped] [Any state other than] // +-----> [kStopped] [Any state other than]
// [ kUninitialized ] // [ kUninitialized ]
...@@ -180,7 +179,6 @@ class MEDIA_EXPORT VideoRendererImpl ...@@ -180,7 +179,6 @@ class MEDIA_EXPORT VideoRendererImpl
kUninitialized, kUninitialized,
kInitializing, kInitializing,
kPrerolled, kPrerolled,
kPaused,
kFlushing, kFlushing,
kFlushed, kFlushed,
kPrerolling, kPrerolling,
......
...@@ -146,13 +146,6 @@ class VideoRendererImplTest : public ::testing::Test { ...@@ -146,13 +146,6 @@ class VideoRendererImplTest : public ::testing::Test {
event.RunAndWaitForStatus(expected); event.RunAndWaitForStatus(expected);
} }
void Pause() {
SCOPED_TRACE("Pause()");
WaitableMessageLoopEvent event;
renderer_->Pause(event.GetClosure());
event.RunAndWait();
}
void Flush() { void Flush() {
SCOPED_TRACE("Flush()"); SCOPED_TRACE("Flush()");
WaitableMessageLoopEvent event; WaitableMessageLoopEvent event;
...@@ -168,7 +161,6 @@ class VideoRendererImplTest : public ::testing::Test { ...@@ -168,7 +161,6 @@ class VideoRendererImplTest : public ::testing::Test {
} }
void Shutdown() { void Shutdown() {
Pause();
Flush(); Flush();
Stop(); Stop();
} }
...@@ -396,7 +388,6 @@ TEST_F(VideoRendererImplTest, StopWhileInitializing) { ...@@ -396,7 +388,6 @@ TEST_F(VideoRendererImplTest, StopWhileInitializing) {
TEST_F(VideoRendererImplTest, StopWhileFlushing) { TEST_F(VideoRendererImplTest, StopWhileFlushing) {
Initialize(); Initialize();
Pause();
renderer_->Flush(base::Bind(&ExpectNotCalled, PIPELINE_OK)); renderer_->Flush(base::Bind(&ExpectNotCalled, PIPELINE_OK));
Stop(); Stop();
...@@ -525,9 +516,7 @@ TEST_F(VideoRendererImplTest, Rebuffer) { ...@@ -525,9 +516,7 @@ TEST_F(VideoRendererImplTest, Rebuffer) {
AdvanceTimeInMs(50); AdvanceTimeInMs(50);
WaitForPendingRead(); WaitForPendingRead();
// Simulate a Pause/Preroll/Play rebuffer sequence. // Simulate a Preroll/Play rebuffer sequence.
Pause();
WaitableMessageLoopEvent event; WaitableMessageLoopEvent event;
renderer_->Preroll(kNoTimestamp(), renderer_->Preroll(kNoTimestamp(),
event.GetPipelineStatusCB()); event.GetPipelineStatusCB());
...@@ -559,9 +548,8 @@ TEST_F(VideoRendererImplTest, Rebuffer_AlreadyHaveEnoughFrames) { ...@@ -559,9 +548,8 @@ TEST_F(VideoRendererImplTest, Rebuffer_AlreadyHaveEnoughFrames) {
SatisfyPendingRead(); SatisfyPendingRead();
Play(); Play();
// Simulate a Pause/Preroll/Play rebuffer sequence. // Simulate a Preroll/Play rebuffer sequence.
Pause(); //
// TODO(scherkus): We shouldn't display the next ready frame in a rebuffer // TODO(scherkus): We shouldn't display the next ready frame in a rebuffer
// situation, see http://crbug.com/365516 // situation, see http://crbug.com/365516
EXPECT_CALL(mock_display_cb_, Display(_)).Times(AtLeast(1)); EXPECT_CALL(mock_display_cb_, Display(_)).Times(AtLeast(1));
...@@ -606,7 +594,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Playing) { ...@@ -606,7 +594,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Playing) {
QueueFrames("abort"); QueueFrames("abort");
SatisfyPendingRead(); SatisfyPendingRead();
Pause();
Flush(); Flush();
QueueFrames("60 70 80 90"); QueueFrames("60 70 80 90");
EXPECT_CALL(mock_display_cb_, Display(HasTimestamp(60))); EXPECT_CALL(mock_display_cb_, Display(HasTimestamp(60)));
...@@ -624,7 +611,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Flush) { ...@@ -624,7 +611,6 @@ TEST_F(VideoRendererImplTest, AbortPendingRead_Flush) {
// Check that there is an outstanding Read() request. // Check that there is an outstanding Read() request.
EXPECT_TRUE(IsReadPending()); EXPECT_TRUE(IsReadPending());
Pause();
Flush(); Flush();
Shutdown(); 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