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..30b410a7db8454bcfcade4d4af34caaf3f95a2e8 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, |
Ami GONE FROM CHROMIUM
2011/05/12 20:42:16
indent is off (before your CL).
acolwell GONE FROM CHROMIUM
2011/05/12 22:30:40
Done.
|
+ 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()); |
+ CopyAndResetCB(seek_cb_).Run(PIPELINE_OK); |
} |
void FFmpegVideoDecoder::OnError() { |