| Index: media/filters/video_renderer_base.cc
|
| diff --git a/media/filters/video_renderer_base.cc b/media/filters/video_renderer_base.cc
|
| index 1ce18fb6aca576c5d8433a3d84e6ffdf89c50359..b79783f98d4bf861d48e5fee6e74a30fbc10058e 100644
|
| --- a/media/filters/video_renderer_base.cc
|
| +++ b/media/filters/video_renderer_base.cc
|
| @@ -7,7 +7,8 @@
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| #include "base/callback_helpers.h"
|
| -#include "base/message_loop/message_loop.h"
|
| +#include "base/location.h"
|
| +#include "base/single_thread_task_runner.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "media/base/buffers.h"
|
| #include "media/base/limits.h"
|
| @@ -21,16 +22,16 @@ base::TimeDelta VideoRendererBase::kMaxLastFrameDuration() {
|
| }
|
|
|
| VideoRendererBase::VideoRendererBase(
|
| - const scoped_refptr<base::MessageLoopProxy>& message_loop,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
|
| ScopedVector<VideoDecoder> decoders,
|
| const SetDecryptorReadyCB& set_decryptor_ready_cb,
|
| const PaintCB& paint_cb,
|
| const SetOpaqueCB& set_opaque_cb,
|
| bool drop_frames)
|
| - : message_loop_(message_loop),
|
| + : task_runner_(task_runner),
|
| weak_factory_(this),
|
| video_frame_stream_(
|
| - message_loop, decoders.Pass(), set_decryptor_ready_cb),
|
| + task_runner, decoders.Pass(), set_decryptor_ready_cb),
|
| received_end_of_stream_(false),
|
| frame_available_(&lock_),
|
| state_(kUninitialized),
|
| @@ -53,7 +54,7 @@ VideoRendererBase::~VideoRendererBase() {
|
| }
|
|
|
| void VideoRendererBase::Play(const base::Closure& callback) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK_EQ(kPrerolled, state_);
|
| state_ = kPlaying;
|
| @@ -61,7 +62,7 @@ void VideoRendererBase::Play(const base::Closure& callback) {
|
| }
|
|
|
| void VideoRendererBase::Pause(const base::Closure& callback) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK(state_ != kUninitialized || state_ == kError);
|
| state_ = kPaused;
|
| @@ -69,7 +70,7 @@ void VideoRendererBase::Pause(const base::Closure& callback) {
|
| }
|
|
|
| void VideoRendererBase::Flush(const base::Closure& callback) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK_EQ(state_, kPaused);
|
| flush_cb_ = callback;
|
| @@ -84,7 +85,7 @@ void VideoRendererBase::Flush(const base::Closure& callback) {
|
| }
|
|
|
| void VideoRendererBase::Stop(const base::Closure& callback) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| if (state_ == kUninitialized || state_ == kStopped) {
|
| callback.Run();
|
| @@ -118,14 +119,14 @@ void VideoRendererBase::Stop(const base::Closure& callback) {
|
| }
|
|
|
| void VideoRendererBase::SetPlaybackRate(float playback_rate) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| playback_rate_ = playback_rate;
|
| }
|
|
|
| void VideoRendererBase::Preroll(base::TimeDelta time,
|
| const PipelineStatusCB& cb) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK_EQ(state_, kFlushed) << "Must flush prior to prerolling.";
|
| DCHECK(!cb.is_null());
|
| @@ -146,7 +147,7 @@ void VideoRendererBase::Initialize(DemuxerStream* stream,
|
| const PipelineStatusCB& error_cb,
|
| const TimeDeltaCB& get_time_cb,
|
| const TimeDeltaCB& get_duration_cb) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK(stream);
|
| DCHECK_EQ(stream->type(), DemuxerStream::VIDEO);
|
| @@ -179,7 +180,7 @@ void VideoRendererBase::Initialize(DemuxerStream* stream,
|
|
|
| void VideoRendererBase::OnVideoFrameStreamInitialized(bool success,
|
| bool has_alpha) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| base::AutoLock auto_lock(lock_);
|
|
|
| if (state_ == kStopped)
|
| @@ -316,7 +317,7 @@ void VideoRendererBase::PaintNextReadyFrame_Locked() {
|
|
|
| paint_cb_.Run(next_frame);
|
|
|
| - message_loop_->PostTask(FROM_HERE, base::Bind(
|
| + task_runner_->PostTask(FROM_HERE, base::Bind(
|
| &VideoRendererBase::AttemptRead, weak_this_));
|
| }
|
|
|
| @@ -328,7 +329,7 @@ void VideoRendererBase::DropNextReadyFrame_Locked() {
|
| frames_decoded_++;
|
| frames_dropped_++;
|
|
|
| - message_loop_->PostTask(FROM_HERE, base::Bind(
|
| + task_runner_->PostTask(FROM_HERE, base::Bind(
|
| &VideoRendererBase::AttemptRead, weak_this_));
|
| }
|
|
|
| @@ -437,7 +438,7 @@ void VideoRendererBase::AttemptRead() {
|
| }
|
|
|
| void VideoRendererBase::AttemptRead_Locked() {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| + DCHECK(task_runner_->BelongsToCurrentThread());
|
| lock_.AssertAcquired();
|
|
|
| if (pending_read_ || received_end_of_stream_ ||
|
|
|