{"id":13905,"url":"https://patchwork.libcamera.org/api/1.1/patches/13905/?format=json","web_url":"https://patchwork.libcamera.org/patch/13905/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20210923083748.146265-2-umang.jain@ideasonboard.com>","date":"2021-09-23T08:37:47","name":"[libcamera-devel,v4,1/2] android: camera_capabilities: Clarify CameraMetadata allocation","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"6a61be68f68ba36f2b9d8e55f64a23743a9b561d","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/1.1/people/86/?format=json","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"delegate":{"id":12,"url":"https://patchwork.libcamera.org/api/1.1/users/12/?format=json","username":"uajain","first_name":"Umang","last_name":"Jain","email":"umang.jain@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/patch/13905/mbox/","series":[{"id":2549,"url":"https://patchwork.libcamera.org/api/1.1/series/2549/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2549","date":"2021-09-23T08:37:46","name":"android: Fix generation of thumbnail for EXIF data","version":4,"mbox":"https://patchwork.libcamera.org/series/2549/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/13905/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/13905/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A3FB8BF01C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 23 Sep 2021 08:38:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 699226918F;\n\tThu, 23 Sep 2021 10:38:01 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1F66E69188\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Sep 2021 10:38:00 +0200 (CEST)","from perceval.ideasonboard.com (unknown\n\t[IPv6:2405:204:8203:58de:7651:79c1:5e62:dca9])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7BC5745E;\n\tThu, 23 Sep 2021 10:37:58 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RkLvqrB9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1632386279;\n\tbh=OIhhuvSys565EjNfQuYNSbgaPKYG4kY85OIhbFK/0JQ=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=RkLvqrB9AJhKk1tkpel2YArps4C+PIFDK8BzAIXyNDKgXO51EL7bROmcw6u8qhjf2\n\tQBwc8OI5srRHgEIgEdWQ0R0KNNVD/k4hTL4HX7eIUmHnKdBbevXGgiL2RLYJwit1d4\n\t3eU2ai7/KfFCjb6gleuhfXi5bT9jKY20RS7OnpNc=","From":"Umang Jain <umang.jain@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Thu, 23 Sep 2021 14:07:47 +0530","Message-Id":"<20210923083748.146265-2-umang.jain@ideasonboard.com>","X-Mailer":"git-send-email 2.31.1","In-Reply-To":"<20210923083748.146265-1-umang.jain@ideasonboard.com>","References":"<20210923083748.146265-1-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v4 1/2] android: camera_capabilities:\n\tClarify CameraMetadata allocation","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"CameraMetadata's constructor take in number of entries and number of\nbytes to be allocated for those entries. However, CameraMetadata is\nalready capable of resizing its container on the fly, in case more\nentries are added to it. Hence, the numbers passed in during the\nconstruction acts as hint values for initialization.\n\nClarify this in CameraCapabilities::requestTemplatePreview() and\nremove the \\todo, as the arguments and the \\todo gives the perspective\nthat we need to be quite accurate with the numbers of entries / bytes,\nwhich is not the case.\n\nSigned-off-by: Umang Jain <umang.jain@ideasonboard.com>\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n---\n src/android/camera_capabilities.cpp | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)","diff":"diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\nindex e92bca42..edeb6943 100644\n--- a/src/android/camera_capabilities.cpp\n+++ b/src/android/camera_capabilities.cpp\n@@ -1340,8 +1340,12 @@ std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplateManual() cons\n std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplatePreview() const\n {\n \t/*\n-\t * \\todo Keep this in sync with the actual number of entries.\n-\t * Currently: 20 entries, 35 bytes\n+\t * Give initial hint of entries and number of bytes to be allocated.\n+\t * It is deliberate that the hint is slightly larger than required, to\n+\t * avoid resizing the container.\n+\t *\n+\t * CameraMetadata is capable of resizing the container on the fly, if\n+\t * adding a new entry will exceed its capacity.\n \t */\n \tauto requestTemplate = std::make_unique<CameraMetadata>(21, 36);\n \tif (!requestTemplate->isValid()) {\n","prefixes":["libcamera-devel","v4","1/2"]}