From patchwork Thu Jan 28 10:21:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 11043 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 1FFF5BD808 for ; Thu, 28 Jan 2021 10:21:53 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A32B068381; Thu, 28 Jan 2021 11:21:52 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="iIw3tbhg"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0D1C56030A for ; Thu, 28 Jan 2021 11:21:51 +0100 (CET) Received: from pyrite.rasen.tech (unknown [IPv6:2400:4051:61:600:2c71:1b79:d06d:5032]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6733F331; Thu, 28 Jan 2021 11:21:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1611829310; bh=lqhCP15e618bpmlbbzEZnOWfn/pXmM8lLbNT+DJhvzU=; h=From:To:Cc:Subject:Date:From; b=iIw3tbhgcnBEKNyJFGp+Qt88yopmTtAZdSJhUTZ+BicHEStO9Nq1QYbY0D4mml9El smRQoTZ7EsQBsqqB4FrMLlcmeyByLdUjL6byyL+NkRYFcJF9ZdgvhkNeI6SAOjofwc oGw7v99SrJgxZC2jJlBEdbYervjjk16uJL2gIl0U= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Thu, 28 Jan 2021 19:21:40 +0900 Message-Id: <20210128102140.160134-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2] android: camera_device: Set AE precapture trigger according to request X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Set the AE precapture triggler tag in the android result metadata according to what was passed in the request metadata. This allows the following CTS test to pass: - android.hardware.camera2.cts.StillCaptureTest#testAePrecaptureTriggerCancelJpegCapture Signed-off-by: Paul Elder Reviewed-by: Jacopo Mondi --- Changes in v2: - move setting the tag to getResultMetadata() --- src/android/camera_device.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index 82bf0d3a..f5066709 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -1965,8 +1965,11 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, aeFpsTarget.data(), aeFpsTarget.size()); value = ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE; - resultMetadata->addEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, - &value, 1); + camera_metadata_ro_entry_t entry; + /* \todo Handle IPA appropriately */ + bool ret = descriptor->settings_.getEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, &entry); + resultMetadata->updateEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, + ret ? entry.data.u8 : &value, 1); value = ANDROID_CONTROL_AE_STATE_CONVERGED; resultMetadata->addEntry(ANDROID_CONTROL_AE_STATE, &value, 1); @@ -2010,8 +2013,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, value = ANDROID_FLASH_STATE_UNAVAILABLE; resultMetadata->addEntry(ANDROID_FLASH_STATE, &value, 1); - camera_metadata_ro_entry_t entry; - int ret = descriptor->settings_.getEntry(ANDROID_LENS_APERTURE, &entry); + ret = descriptor->settings_.getEntry(ANDROID_LENS_APERTURE, &entry); if (ret) resultMetadata->addEntry(ANDROID_LENS_APERTURE, entry.data.f, 1);