{"id":18235,"url":"https://patchwork.libcamera.org/api/1.1/patches/18235/?format=json","web_url":"https://patchwork.libcamera.org/patch/18235/","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":"<20230202111252.3366729-7-matthias.fend@emfend.at>","date":"2023-02-02T11:12:51","name":"[libcamera-devel,RFC,6/7] libcamera: camera_lens: add method to get a list of volatile controls","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"39025114548af6f1c606c7040be432d4fedfe333","submitter":{"id":134,"url":"https://patchwork.libcamera.org/api/1.1/people/134/?format=json","name":"Matthias Fend","email":"matthias.fend@emfend.at"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/18235/mbox/","series":[{"id":3735,"url":"https://patchwork.libcamera.org/api/1.1/series/3735/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3735","date":"2023-02-02T11:12:45","name":"add support for more complex optics","version":1,"mbox":"https://patchwork.libcamera.org/series/3735/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/18235/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/18235/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 9DF2BC3243\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  2 Feb 2023 11:13:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6C814625F5;\n\tThu,  2 Feb 2023 12:13:08 +0100 (CET)","from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 047C1625EF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  2 Feb 2023 12:13:05 +0100 (CET)","from 194-208-208-245.tele.net ([194.208.208.245]:51050\n\thelo=localhost.localdomain)\n\tby lx20.hoststar.hosting with esmtpsa (TLS1.3) tls\n\tTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93)\n\t(envelope-from <matthias.fend@emfend.at>)\n\tid 1pNXWa-008Uhs-8S; Thu, 02 Feb 2023 12:13:04 +0100"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675336388;\n\tbh=2JBSV49yKX59+cPdZzFvdRmSrJWohVS0Wl9A6Ae5tQs=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=tTS+299O7j+IAhBLhaxeI4LMJ9vhGAel0KzrG6j1QfYeaxscOr3LXiDstDrtZ9m2u\n\tJH+JvRE2wG+xaoRjIydPfeIlP8G53bi0eGu0Zy7gyzUTs3vHcAju5HzcrQG+BMm7kE\n\tdKzX85A73ChndVJM8V2x0g2V/glDiUdSuHWYcqYDHjtfo3awDpkqpvyPCFx9MKu/Md\n\tZt/HBtv2ClSsqMKOzIyFPCYPe5A11v0zGyj5umNGLj0W7Ep84j3ObPOYU8xA6IO8Ut\n\twhbvY/xIP60o46+bD5xq9QAPRPtWGVNV6zq/AhYuGin0T17G8W1FUSrhHVcPhjsf8o\n\tpSTKbNHhpEY9A==","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at;\n\ts=mail;\n\th=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:\n\tMessage-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=ccHxFoTNzmRXiyfGvw5+0vDwFwjfxWSe2v8SFRjnGLQ=;\n\tb=QuX+QgmI7MMXjaQ7WSHqSG/IRJ\n\tqt4Yqg6PvcyqHVIOloQfQG+0LJfJA1MAhXydfmGX1QxZ1pM4OEytIm910UbqYHb4CfiYZnabnQOLM\n\tT1SFGJJPjdvCC8BjVOd7iyEutOM4boDlDmm+U44IDiehHdc0+Ctrim/rConEnqHZa84g=;"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=emfend.at header.i=@emfend.at\n\theader.b=\"QuX+QgmI\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Thu,  2 Feb 2023 12:12:51 +0100","Message-Id":"<20230202111252.3366729-7-matthias.fend@emfend.at>","X-Mailer":"git-send-email 2.25.1","In-Reply-To":"<20230202111252.3366729-1-matthias.fend@emfend.at>","References":"<20230202111252.3366729-1-matthias.fend@emfend.at>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Spam-Score":"-1.0","X-Spam-Bar":"-","X-Spam-Report":"Spam detection software,\n\trunning on the system \"lx20.hoststar.hosting\", \n\thas NOT identified this incoming email as spam.  The original\n\tmessage has been attached to this so you can view it or label\n\tsimilar future email.  If you have any questions, see\n\tthe administrator of that system for details.\n\tContent preview: This method returns all IDs of the v4l2 controls\n\tthat are marked as volatile. Signed-off-by: Matthias Fend\n\t<matthias.fend@emfend.at>\n\t--- include/libcamera/internal/v4l2_device.h | 1 +\n\tsrc/libcamera/v4l2_device.cpp\n\t| 15 +++++++++++++++ 2 files changed, 16 insertions(+) \n\tContent analysis details:   (-1.0 points, 5.0 required)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP\n\t0.0 TVD_RCVD_IP            Message was received from an IP address\n\t0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict\n\tAlignment","Subject":"[libcamera-devel] [RFC PATCH 6/7] libcamera: camera_lens: add\n\tmethod to get a list of volatile controls","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>","From":"Matthias Fend via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Matthias Fend <matthias.fend@emfend.at>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"This method reads all v4l2 controls marked as volatile from the underlying\nv4l2 subdevice.\n\nSigned-off-by: Matthias Fend <matthias.fend@emfend.at>\n---\n include/libcamera/internal/camera_lens.h | 1 +\n src/libcamera/camera_lens.cpp            | 9 +++++++++\n 2 files changed, 10 insertions(+)","diff":"diff --git a/include/libcamera/internal/camera_lens.h b/include/libcamera/internal/camera_lens.h\nindex f5212ea7..9aa0b84a 100644\n--- a/include/libcamera/internal/camera_lens.h\n+++ b/include/libcamera/internal/camera_lens.h\n@@ -34,6 +34,7 @@ public:\n \tconst ControlInfoMap &controls() const;\n \n \tControlList getControls(const std::vector<uint32_t> &ids);\n+\tControlList getVolatileControls();\n protected:\n \tstd::string logPrefix() const override;\n \ndiff --git a/src/libcamera/camera_lens.cpp b/src/libcamera/camera_lens.cpp\nindex ddcda232..5bace1e7 100644\n--- a/src/libcamera/camera_lens.cpp\n+++ b/src/libcamera/camera_lens.cpp\n@@ -165,4 +165,13 @@ ControlList CameraLens::getControls(const std::vector<uint32_t> &ids)\n \treturn subdev_->getControls(ids);\n }\n \n+ControlList CameraLens::getVolatileControls()\n+{\n+\tstd::vector<uint32_t> ids;\n+\n+\tids = subdev_->getVolatileControlIds();\n+\n+\treturn subdev_->getControls(ids);\n+}\n+\n } /* namespace libcamera */\n","prefixes":["libcamera-devel","RFC","6/7"]}