| Index: media/filters/ffmpeg_video_decoder.cc
|
| diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
| index b281fb43724df7c039c70787a79374029403ca5b..a0359c7ee0b6f555955a02875d087720dab50674 100644
|
| --- a/media/filters/ffmpeg_video_decoder.cc
|
| +++ b/media/filters/ffmpeg_video_decoder.cc
|
| @@ -183,30 +183,27 @@ void FFmpegVideoDecoder::OnFlushComplete() {
|
| state_ = kNormal;
|
| }
|
|
|
| -void FFmpegVideoDecoder::Seek(base::TimeDelta time,
|
| - FilterCallback* callback) {
|
| +void FFmpegVideoDecoder::Seek(base::TimeDelta time, const FilterStatusCB& cb) {
|
| if (MessageLoop::current() != message_loop_) {
|
| message_loop_->PostTask(FROM_HERE,
|
| - NewRunnableMethod(this,
|
| - &FFmpegVideoDecoder::Seek,
|
| - time,
|
| - callback));
|
| + NewRunnableMethod(this, &FFmpegVideoDecoder::Seek,
|
| + time, cb));
|
| return;
|
| }
|
|
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| - DCHECK(!seek_callback_.get());
|
| + DCHECK(seek_cb_.is_null());
|
|
|
| pts_stream_.Seek(time);
|
| - seek_callback_.reset(callback);
|
| + seek_cb_ = cb;
|
| decode_engine_->Seek();
|
| }
|
|
|
| void FFmpegVideoDecoder::OnSeekComplete() {
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| - DCHECK(seek_callback_.get());
|
| + DCHECK(!seek_cb_.is_null());
|
|
|
| - AutoCallbackRunner done_runner(seek_callback_.release());
|
| + RunAndResetCB(&seek_cb_, PIPELINE_OK);
|
| }
|
|
|
| void FFmpegVideoDecoder::OnError() {
|
|
|