summaryrefslogtreecommitdiffstats
path: root/media/omx/omx_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/omx/omx_unittest.cc')
-rw-r--r--media/omx/omx_unittest.cc39
1 files changed, 36 insertions, 3 deletions
diff --git a/media/omx/omx_unittest.cc b/media/omx/omx_unittest.cc
index d70aef6..76d8f14 100644
--- a/media/omx/omx_unittest.cc
+++ b/media/omx/omx_unittest.cc
@@ -1,13 +1,46 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2009-2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/logging.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/openmax/il/OMX_Component.h"
+#include "third_party/openmax/il/OMX_Core.h"
namespace media {
-TEST(OmxTest, Pass) {
- // TODO(scherkus): fill in with some sample OpenMAX tests.
+TEST(OmxTest, SimpleInit) {
+ EXPECT_EQ(OMX_ErrorNone, OMX_Init());
+ EXPECT_EQ(OMX_ErrorNone, OMX_Deinit());
+}
+
+TEST(OmxTest, GetComponentsOfRole) {
+ OMX_U32 roles = 0;
+ OMX_U8** component_names = NULL;
+ char role[] = "video_decoder";
+ const int kSize = 256;
+
+ EXPECT_EQ(OMX_ErrorNone, OMX_Init());
+ EXPECT_EQ(OMX_ErrorNone, OMX_GetComponentsOfRole(role, &roles, 0));
+
+ // TODO(hclam): Should assert the component number.
+ LOG(INFO) << "Video decoder components: " << roles;
+
+ if (roles) {
+ component_names = new OMX_U8*[roles];
+ for (size_t i = 0; i < roles; ++i)
+ component_names[i] = new OMX_U8[kSize];
+
+ OMX_U32 roles_backup = roles;
+ EXPECT_EQ(OMX_ErrorNone,
+ OMX_GetComponentsOfRole(role, &roles, component_names));
+ ASSERT_EQ(roles_backup, roles);
+
+ for (size_t i = 0; i < roles; ++i)
+ delete [] component_names[i];
+ delete [] component_names;
+ }
+ EXPECT_EQ(OMX_ErrorNone, OMX_Deinit());
}
} // namespace media