summaryrefslogtreecommitdiffstats
path: root/media/omx
diff options
context:
space:
mode:
authorwjia@google.com <wjia@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 18:36:44 +0000
committerwjia@google.com <wjia@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 18:36:44 +0000
commit3e72a39f9eb9ffa3f92e74dbe30f71fc8ed255d7 (patch)
treee8ded440882156dd3cfb2bb9b0d799d156f862e3 /media/omx
parent5013153a76e81ecf270d17a55600225556188128 (diff)
downloadchromium_src-3e72a39f9eb9ffa3f92e74dbe30f71fc8ed255d7.zip
chromium_src-3e72a39f9eb9ffa3f92e74dbe30f71fc8ed255d7.tar.gz
chromium_src-3e72a39f9eb9ffa3f92e74dbe30f71fc8ed255d7.tar.bz2
1. make omx engine the driving force to read bit stream
2. update omx_codec_unittest and omx_test correspondingly 3. fix copy&paste error in shader code BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2752002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49428 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/omx')
-rw-r--r--media/omx/omx_codec_unittest.cc29
1 files changed, 14 insertions, 15 deletions
diff --git a/media/omx/omx_codec_unittest.cc b/media/omx/omx_codec_unittest.cc
index 92201d4..71a9ca7 100644
--- a/media/omx/omx_codec_unittest.cc
+++ b/media/omx/omx_codec_unittest.cc
@@ -149,7 +149,8 @@ class TestBuffer : public media::Buffer {
class OmxCodecTest : public testing::Test {
public:
OmxCodecTest ()
- : got_eos_(false),
+ : input_buffer_count_(0),
+ got_eos_(false),
omx_engine_(new OmxVideoDecodeEngine()) {
av_stream_.codec = &av_codec_context_;
av_codec_context_.width = 16;
@@ -302,7 +303,13 @@ class OmxCodecTest : public testing::Test {
}
void EmptyBufferDoneCallback(scoped_refptr<Buffer> buffer) {
- input_units_.push_back(buffer);
+ if (buffer.get()) {
+ input_units_.push_back(buffer);
+ } else {
+ input_buffer_count_++;
+ scoped_refptr<Buffer> buffer_ref = new TestBuffer(input_buffer_count_);
+ input_units_.push_back(buffer_ref);
+ }
}
void FillBufferDoneCallback(scoped_refptr<VideoFrame> frame) {
@@ -311,13 +318,6 @@ class OmxCodecTest : public testing::Test {
got_eos_ = true;
}
- void InitializeInputBuffers(int count) {
- for (int i = 0; i < count; ++i) {
- scoped_refptr<Buffer> buffer_ref = new TestBuffer(i + 1);
- input_units_.push_back(buffer_ref);
- }
- }
-
void MakeEmptyBufferRequest() {
scoped_refptr<Buffer> buffer = input_units_.front();
input_units_.pop_front();
@@ -335,6 +335,8 @@ class OmxCodecTest : public testing::Test {
message_loop_.RunAllPending();
}
+ int input_buffer_count_;
+
std::deque<scoped_refptr<Buffer> > input_units_;
std::deque<scoped_refptr<VideoFrame> > output_units_;
std::deque<OMX_BUFFERHEADERTYPE*> fill_this_buffer_received_;
@@ -369,6 +371,7 @@ TEST_F(OmxCodecTest, SimpleStartAndStop) {
init_done_cb_task_.CreateTask());
message_loop_.RunAllPending();
+ EXPECT_EQ(kBufferCount, input_buffer_count_);
EXPECT_EQ(VideoDecodeEngine::kNormal, omx_engine_->state());
ExpectStop();
@@ -386,11 +389,9 @@ TEST_F(OmxCodecTest, NormalFlow) {
init_done_cb_task_.CreateTask());
message_loop_.RunAllPending();
+ EXPECT_EQ(kBufferCount, input_buffer_count_);
EXPECT_EQ(VideoDecodeEngine::kNormal, omx_engine_->state());
- // Allocate bitstream buffers.
- InitializeInputBuffers(kBufferCount);
-
// Make emptybuffer requests.
EXPECT_EQ(0u, output_units_.size());
int count = output_pool_.size();
@@ -435,11 +436,9 @@ TEST_F(OmxCodecTest, RecycleInputBuffers) {
init_done_cb_task_.CreateTask());
message_loop_.RunAllPending();
+ EXPECT_EQ(kBufferCount, input_buffer_count_);
EXPECT_EQ(VideoDecodeEngine::kNormal, omx_engine_->state());
- // Allocate bitstream buffers.
- InitializeInputBuffers(kBufferCount);
-
// Make emptybuffer requests, also recycle input buffers
EXPECT_EQ(0u, output_units_.size());
int count = output_pool_.size();