diff options
author | JimiChen <jimichen@google.com> | 2020-07-15 07:13:13 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-07-15 07:13:13 +0000 |
commit | 6ff1cfdc949847110db3907a0a076b179eb90f76 (patch) | |
tree | 8c464cdc944a094c477f1f701525fbffc356f561 | |
parent | af8910fa3f9710f02b1ba806c8fd0f111e4c61a0 (diff) | |
parent | 3af4327697c6710a7f1839cbf33faa55634c3dee (diff) | |
download | camera-android11-mainline-os-statsd-release.tar.gz |
camera: fallback realtime pipeline capture when AE_ON_AUTO_FLASH and am: 3af4327697android-mainline-12.0.0_r112android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12aml_tz2_305400500aml_tz2_305400300aml_tz2_305400100aml_tz2_304500300aml_tz2_303900110aml_tz2_303900102aml_tz2_303800002aml_tz2_303800001aml_tz2_303200001android12-mainline-tzdata2-releaseandroid11-mainline-tethering-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseaml_tz2_305400100
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/camera/+/12139563
Change-Id: Idc12f93a1e30479768dadf83ab4f23bf8b13bcc0
-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; |