Index: media/filters/omx_video_decoder.cc |
diff --git a/media/filters/omx_video_decoder.cc b/media/filters/omx_video_decoder.cc |
index f36a3055c95c7fd59e0e6ba3c559e21f77114e75..3617ba3d1078a1e7dc061eb81c4f11ba7ef669fd 100644 |
--- a/media/filters/omx_video_decoder.cc |
+++ b/media/filters/omx_video_decoder.cc |
@@ -72,6 +72,11 @@ void OmxVideoDecoder::FillThisBuffer(scoped_refptr<VideoFrame> frame) { |
&OmxVideoDecodeEngine::FillThisBuffer, frame)); |
} |
+bool OmxVideoDecoder::ProvidesBuffer() { |
+ if (!omx_engine_.get()) return false; |
+ return omx_engine_->ProvidesBuffer(); |
+} |
+ |
void OmxVideoDecoder::Stop(FilterCallback* callback) { |
omx_engine_->Stop( |
NewRunnableMethod(this, |
@@ -92,9 +97,19 @@ void OmxVideoDecoder::PauseCompleteTask(FilterCallback* callback) { |
AutoCallbackRunner done_runner(callback); |
} |
+void OmxVideoDecoder::Flush(FilterCallback* callback) { |
+ omx_engine_->Flush( |
+ NewRunnableMethod(this, |
+ &OmxVideoDecoder::FlushCompleteTask, callback)); |
+} |
+ |
+void OmxVideoDecoder::FlushCompleteTask(FilterCallback* callback) { |
+ AutoCallbackRunner done_runner(callback); |
+} |
+ |
void OmxVideoDecoder::Seek(base::TimeDelta time, |
FilterCallback* callback) { |
- omx_engine_->Flush( |
+ omx_engine_->Seek( |
NewRunnableMethod(this, |
&OmxVideoDecoder::SeekCompleteTask, callback)); |
} |