diff options
author | jiesun@google.com <jiesun@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 19:24:24 +0000 |
---|---|---|
committer | jiesun@google.com <jiesun@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 19:24:24 +0000 |
commit | 55683e21a68a2c0df23c126c4a002054bad5725d (patch) | |
tree | 787e82686dffceaac8d0f2b54a1d8a20fdb1510c /media/omx/omx_codec_unittest.cc | |
parent | ce4e83804af1a9f22ec3b23abae603ea3f759b52 (diff) | |
download | chromium_src-55683e21a68a2c0df23c126c4a002054bad5725d.zip chromium_src-55683e21a68a2c0df23c126c4a002054bad5725d.tar.gz chromium_src-55683e21a68a2c0df23c126c4a002054bad5725d.tar.bz2 |
media: OMX seek works for OMX_HEADBUFFERTYPE now.
1. Promote Stop() to engine interafce and make it Asynchronous.
2. Add Pause() and Flush() in engine interface.
3. Notify buffer return in ffmpeg engine so that future recycling could use it.
4. Add Pause logic in OMX decode engine.
to fully support seek in hardware path, some pipeline work and video render work is required. that will be in the next patch (maybe jia will write it).
1. some renderer hack is required for now. but current pause model of videoRenderBase is not suitable for hardware case. we need to resolve that.
2. Seek after EOS is not supported.
3. Seek for EGL image path is not yet tested, some code is required to return EGLImage buffer to allocator's side.
Review URL: http://codereview.chromium.org/2808022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51153 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/omx/omx_codec_unittest.cc')
-rw-r--r-- | media/omx/omx_codec_unittest.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/media/omx/omx_codec_unittest.cc b/media/omx/omx_codec_unittest.cc index 71a9ca7..b1960b9 100644 --- a/media/omx/omx_codec_unittest.cc +++ b/media/omx/omx_codec_unittest.cc @@ -295,8 +295,7 @@ class OmxCodecTest : public testing::Test { } void ExpectStop() { - EXPECT_CALL(stop_callback_, OnFilterCallback()); - EXPECT_CALL(stop_callback_, OnCallbackDestroyed()); + EXPECT_CALL(stop_task_, Run()); ExpectToIdle(); ExpectIdleToLoaded(); ExpectToEmpty(); @@ -355,7 +354,7 @@ class OmxCodecTest : public testing::Test { VideoDecodeEngine::FillThisBufferCallback* decode_done_cb_; TaskMocker init_done_cb_task_; - MockFilterCallback stop_callback_; + TaskMocker stop_task_; private: DISALLOW_COPY_AND_ASSIGN(OmxCodecTest); @@ -375,7 +374,7 @@ TEST_F(OmxCodecTest, SimpleStartAndStop) { EXPECT_EQ(VideoDecodeEngine::kNormal, omx_engine_->state()); ExpectStop(); - omx_engine_->Stop(stop_callback_.NewCallback()); + omx_engine_->Stop(stop_task_.CreateTask()); message_loop_.RunAllPending(); } @@ -422,7 +421,7 @@ TEST_F(OmxCodecTest, NormalFlow) { // Shutdown. ExpectStop(); - omx_engine_->Stop(stop_callback_.NewCallback()); + omx_engine_->Stop(stop_task_.CreateTask()); message_loop_.RunAllPending(); } @@ -474,7 +473,7 @@ TEST_F(OmxCodecTest, RecycleInputBuffers) { // Shutdown. ExpectStop(); - omx_engine_->Stop(stop_callback_.NewCallback()); + omx_engine_->Stop(stop_task_.CreateTask()); message_loop_.RunAllPending(); } |