summaryrefslogtreecommitdiffstats
path: root/camera
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-10-11 09:51:09 -0700
committerEino-Ville Talvala <etalvala@google.com>2013-11-06 18:22:22 -0800
commitfd6ecdd39bd83ea020f78b425e96310380d66c35 (patch)
tree74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c /camera
parent48b6cd98b23b2cf9dee88f075f7575ecb5aaf545 (diff)
downloadframeworks_av-fd6ecdd39bd83ea020f78b425e96310380d66c35.zip
frameworks_av-fd6ecdd39bd83ea020f78b425e96310380d66c35.tar.gz
frameworks_av-fd6ecdd39bd83ea020f78b425e96310380d66c35.tar.bz2
Camera HAL3/API1: Add support for the partial result quirk.
- Camera2Client: - Detect partial result quirk - Camera3Device: - Accumulate all partial results together - Fire off 3A-only result once all 3A states are available - FrameProcessorBase: - Filter out partials, don't send to listeners - FrameProcessor: - Skip face detect on partials - Make sure to only handle a 3A update for a given frame once - Trigger AF notifications when AF mode or trigger changes, to properly detect all AF transitions. Bug: 11115603 Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b
Diffstat (limited to 'camera')
-rw-r--r--camera/CameraMetadata.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/camera/CameraMetadata.cpp b/camera/CameraMetadata.cpp
index f447c5b..7765914 100644
--- a/camera/CameraMetadata.cpp
+++ b/camera/CameraMetadata.cpp
@@ -133,11 +133,19 @@ void CameraMetadata::acquire(CameraMetadata &other) {
}
status_t CameraMetadata::append(const CameraMetadata &other) {
+ return append(other.mBuffer);
+}
+
+status_t CameraMetadata::append(const camera_metadata_t* other) {
if (mLocked) {
ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
return INVALID_OPERATION;
}
- return append_camera_metadata(mBuffer, other.mBuffer);
+ size_t extraEntries = get_camera_metadata_entry_count(other);
+ size_t extraData = get_camera_metadata_data_count(other);
+ resizeIfNeeded(extraEntries, extraData);
+
+ return append_camera_metadata(mBuffer, other);
}
size_t CameraMetadata::entryCount() const {