diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-07-16 18:27:53 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-07-16 18:27:53 +0000 |
commit | f9229c0dbd51aeb43a495930e11d2954338721d9 (patch) | |
tree | 8c464cdc944a094c477f1f701525fbffc356f561 | |
parent | d95b71ee87f6db066150f41fd34b419e905ea161 (diff) | |
parent | 6ff1cfdc949847110db3907a0a076b179eb90f76 (diff) | |
download | camera-android11-mainline-release.tar.gz |
Snap for 6685968 from 6ff1cfdc949847110db3907a0a076b179eb90f76 to mainline-releaser_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r4android-mainline-11.0.0_r33android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r10android11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-release
Change-Id: Ia4f05988f724b95a5948f77c397084f8abe91675
-rw-r--r-- | common/hal/utils/zsl_buffer_manager.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/hal/utils/zsl_buffer_manager.cc b/common/hal/utils/zsl_buffer_manager.cc index 4855abf..9183476 100644 --- a/common/hal/utils/zsl_buffer_manager.cc +++ b/common/hal/utils/zsl_buffer_manager.cc @@ -407,6 +407,24 @@ void ZslBufferManager::GetMostRecentZslBuffers( zsl_buffer_iter++; } + // Fallback to realtime pipeline capture if there are any flash-fired frame + // in zsl buffers with AE_MODE_ON_AUTO_FLASH. + camera_metadata_ro_entry entry = {}; + res = zsl_buffer_iter->second.metadata->Get(ANDROID_CONTROL_AE_MODE, &entry); + if (res == OK && entry.data.u8[0] == ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH) { + for (auto search_iter = filled_zsl_buffers_.begin(); + search_iter != filled_zsl_buffers_.end(); search_iter++) { + res = search_iter->second.metadata->Get(ANDROID_FLASH_STATE, &entry); + if (res == OK && entry.count == 1) { + if (entry.data.u8[0] == ANDROID_FLASH_STATE_FIRED) { + ALOGD("%s: Returns empty zsl_buffers due to flash fired", + __FUNCTION__); + return; + } + } + } + } + for (uint32_t i = 0; i < num_buffers; i++) { camera_metadata_ro_entry entry = {}; int64_t buffer_timestamp; |