summaryrefslogtreecommitdiffstats
path: root/camera/tests
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2013-02-21 13:49:26 -0800
committerIgor Murashkin <iam@google.com>2013-02-22 10:50:15 -0800
commit7b33a74bbc514b99c16be7fff9a34e892bc19264 (patch)
treea3c2e719aebc4dc486312970b57c588cba8f5ce9 /camera/tests
parenta91537e268f2b35f9f0dfdc0c4f84655c93285ae (diff)
downloadframeworks_av-7b33a74bbc514b99c16be7fff9a34e892bc19264.zip
frameworks_av-7b33a74bbc514b99c16be7fff9a34e892bc19264.tar.gz
frameworks_av-7b33a74bbc514b99c16be7fff9a34e892bc19264.tar.bz2
ProCamera: Add getInfo for getting static metadata (and a test)
Change-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166
Diffstat (limited to 'camera/tests')
-rw-r--r--camera/tests/ProCameraTests.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/camera/tests/ProCameraTests.cpp b/camera/tests/ProCameraTests.cpp
index 021fbae..69b7f3c 100644
--- a/camera/tests/ProCameraTests.cpp
+++ b/camera/tests/ProCameraTests.cpp
@@ -324,10 +324,40 @@ protected:
ASSERT_NE((void*)NULL, surface.get());
}
+ template <typename T>
+ static bool FindItem(T needle, T* array, size_t count) {
+ for (int i = 0; i < count; ++i) {
+ if (array[i] == needle) {
+ return true;
+ }
+ }
+ return false;
+ }
+
};
sp<Thread> ProCameraTest::mTestThread;
+TEST_F(ProCameraTest, AvailableFormats) {
+ if (HasFatalFailure()) {
+ return;
+ }
+
+ camera_metadata_t* info = mCamera->getCameraInfo(CAMERA_ID);
+ ASSERT_NE((void*)NULL, info);
+
+ camera_metadata_entry_t entry;
+ uint32_t tag = static_cast<uint32_t>(ANDROID_SCALER_AVAILABLE_FORMATS);
+ EXPECT_EQ(OK, find_camera_metadata_entry(info, tag, &entry));
+
+ EXPECT_TRUE(FindItem<int32_t>(HAL_PIXEL_FORMAT_YV12,
+ entry.data.i32, entry.count));
+ EXPECT_TRUE(FindItem<int32_t>(HAL_PIXEL_FORMAT_YCrCb_420_SP,
+ entry.data.i32, entry.count));
+
+ free_camera_metadata(info);
+}
+
// test around exclusiveTryLock (immediate locking)
TEST_F(ProCameraTest, LockingImmediate) {