diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2013-10-11 09:51:09 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2013-11-06 18:22:22 -0800 |
commit | fd6ecdd39bd83ea020f78b425e96310380d66c35 (patch) | |
tree | 74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c /camera | |
parent | 48b6cd98b23b2cf9dee88f075f7575ecb5aaf545 (diff) | |
download | frameworks_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.cpp | 10 |
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 { |