summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimiChen <jimichen@google.com>2020-07-15 07:13:13 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-07-15 07:13:13 +0000
commit6ff1cfdc949847110db3907a0a076b179eb90f76 (patch)
tree8c464cdc944a094c477f1f701525fbffc356f561
parentaf8910fa3f9710f02b1ba806c8fd0f111e4c61a0 (diff)
parent3af4327697c6710a7f1839cbf33faa55634c3dee (diff)
downloadcamera-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.cc18
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;