Index: media/filters/ffmpeg_video_decoder.cc |
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc |
index bdaee8cb72eead683c036c5a67d39b31ddd6bcdb..13b26b2e80c247c910be6eebd5ed96ce24b50103 100644 |
--- a/media/filters/ffmpeg_video_decoder.cc |
+++ b/media/filters/ffmpeg_video_decoder.cc |
@@ -21,8 +21,10 @@ |
namespace media { |
-FFmpegVideoDecoder::FFmpegVideoDecoder(VideoDecodeContext* decode_context) |
- : width_(0), |
+FFmpegVideoDecoder::FFmpegVideoDecoder(MessageLoop* message_loop, |
+ VideoDecodeContext* decode_context) |
+ : message_loop_(message_loop), |
+ width_(0), |
height_(0), |
time_base_(new AVRational()), |
state_(kUnInitialized), |
@@ -36,8 +38,8 @@ FFmpegVideoDecoder::~FFmpegVideoDecoder() { |
void FFmpegVideoDecoder::Initialize(DemuxerStream* demuxer_stream, |
FilterCallback* callback) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask( |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask( |
FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::Initialize, |
@@ -46,7 +48,7 @@ void FFmpegVideoDecoder::Initialize(DemuxerStream* demuxer_stream, |
return; |
} |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(!demuxer_stream_); |
DCHECK(!initialize_callback_.get()); |
@@ -98,11 +100,11 @@ void FFmpegVideoDecoder::Initialize(DemuxerStream* demuxer_stream, |
config.width = width_; |
config.height = height_; |
state_ = kInitializing; |
- decode_engine_->Initialize(message_loop(), this, NULL, config); |
+ decode_engine_->Initialize(message_loop_, this, NULL, config); |
} |
void FFmpegVideoDecoder::OnInitializeComplete(const VideoCodecInfo& info) { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(initialize_callback_.get()); |
info_ = info; // Save a copy. |
@@ -128,15 +130,15 @@ void FFmpegVideoDecoder::OnInitializeComplete(const VideoCodecInfo& info) { |
} |
void FFmpegVideoDecoder::Stop(FilterCallback* callback) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask(FROM_HERE, |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask(FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::Stop, |
callback)); |
return; |
} |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(!uninitialize_callback_.get()); |
uninitialize_callback_.reset(callback); |
@@ -147,7 +149,7 @@ void FFmpegVideoDecoder::Stop(FilterCallback* callback) { |
} |
void FFmpegVideoDecoder::OnUninitializeComplete() { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(uninitialize_callback_.get()); |
AutoCallbackRunner done_runner(uninitialize_callback_.release()); |
@@ -157,8 +159,8 @@ void FFmpegVideoDecoder::OnUninitializeComplete() { |
} |
void FFmpegVideoDecoder::Pause(FilterCallback* callback) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask(FROM_HERE, |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask(FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::Pause, |
callback)); |
@@ -170,15 +172,15 @@ void FFmpegVideoDecoder::Pause(FilterCallback* callback) { |
} |
void FFmpegVideoDecoder::Flush(FilterCallback* callback) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask(FROM_HERE, |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask(FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::Flush, |
callback)); |
return; |
} |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(!flush_callback_.get()); |
state_ = kFlushing; |
@@ -191,7 +193,7 @@ void FFmpegVideoDecoder::Flush(FilterCallback* callback) { |
} |
void FFmpegVideoDecoder::OnFlushComplete() { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(flush_callback_.get()); |
AutoCallbackRunner done_runner(flush_callback_.release()); |
@@ -206,8 +208,8 @@ void FFmpegVideoDecoder::OnFlushComplete() { |
void FFmpegVideoDecoder::Seek(base::TimeDelta time, |
FilterCallback* callback) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask(FROM_HERE, |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask(FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::Seek, |
time, |
@@ -215,7 +217,7 @@ void FFmpegVideoDecoder::Seek(base::TimeDelta time, |
return; |
} |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(!seek_callback_.get()); |
seek_callback_.reset(callback); |
@@ -223,7 +225,7 @@ void FFmpegVideoDecoder::Seek(base::TimeDelta time, |
} |
void FFmpegVideoDecoder::OnSeekComplete() { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK(seek_callback_.get()); |
AutoCallbackRunner done_runner(seek_callback_.release()); |
@@ -239,7 +241,7 @@ void FFmpegVideoDecoder::OnFormatChange(VideoStreamInfo stream_info) { |
void FFmpegVideoDecoder::OnReadComplete(Buffer* buffer_in) { |
scoped_refptr<Buffer> buffer(buffer_in); |
- message_loop()->PostTask( |
+ message_loop_->PostTask( |
FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::OnReadCompleteTask, |
@@ -247,7 +249,7 @@ void FFmpegVideoDecoder::OnReadComplete(Buffer* buffer_in) { |
} |
void FFmpegVideoDecoder::OnReadCompleteTask(scoped_refptr<Buffer> buffer) { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK_NE(state_, kStopped); // because of Flush() before Stop(). |
// During decode, because reads are issued asynchronously, it is possible to |
@@ -301,15 +303,15 @@ const MediaFormat& FFmpegVideoDecoder::media_format() { |
void FFmpegVideoDecoder::ProduceVideoFrame( |
scoped_refptr<VideoFrame> video_frame) { |
- if (MessageLoop::current() != message_loop()) { |
- message_loop()->PostTask( |
+ if (MessageLoop::current() != message_loop_) { |
+ message_loop_->PostTask( |
FROM_HERE, |
NewRunnableMethod(this, |
&FFmpegVideoDecoder::ProduceVideoFrame, video_frame)); |
return; |
} |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
// Synchronized flushing before stop should prevent this. |
DCHECK_NE(state_, kStopped); |
@@ -330,7 +332,7 @@ void FFmpegVideoDecoder::ProduceVideoFrame( |
void FFmpegVideoDecoder::ConsumeVideoFrame( |
scoped_refptr<VideoFrame> video_frame) { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK_NE(state_, kStopped); |
if (video_frame.get()) { |
@@ -365,7 +367,7 @@ void FFmpegVideoDecoder::ConsumeVideoFrame( |
void FFmpegVideoDecoder::ProduceVideoSample( |
scoped_refptr<Buffer> buffer) { |
- DCHECK_EQ(MessageLoop::current(), message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
DCHECK_NE(state_, kStopped); |
demuxer_stream_->Read( |