Index: media/filters/omx_video_decoder.cc |
diff --git a/media/filters/omx_video_decoder.cc b/media/filters/omx_video_decoder.cc |
index 43f8100faf0cda2c81af265695e03ae18033dfb5..63715e28a9e5432946adff3d20d3a76e6df995f8 100644 |
--- a/media/filters/omx_video_decoder.cc |
+++ b/media/filters/omx_video_decoder.cc |
@@ -156,30 +156,29 @@ void OmxVideoDecoder::OnFlushComplete() { |
pts_stream_.Flush(); |
} |
-void OmxVideoDecoder::Seek(base::TimeDelta time, |
- FilterCallback* callback) { |
+void OmxVideoDecoder::Seek(base::TimeDelta time, const FilterStatusCB& cb) { |
if (MessageLoop::current() != message_loop_) { |
message_loop_->PostTask(FROM_HERE, |
NewRunnableMethod(this, |
&OmxVideoDecoder::Seek, |
time, |
- callback)); |
+ 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 OmxVideoDecoder::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 OmxVideoDecoder::OnError() { |