{"id":23210,"url":"https://patchwork.libcamera.org/api/1.1/patches/23210/?format=json","web_url":"https://patchwork.libcamera.org/patch/23210/","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":"<20250422142903.14742-2-jaslo@ziska.de>","date":"2025-04-22T14:25:19","name":"[1/3] gstreamer: Add GST_PARAM_CONDITIONALLY_AVAILABLE flag to properties","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"86cd4bd1e4fd410776ca85142235a38e172c7a55","submitter":{"id":173,"url":"https://patchwork.libcamera.org/api/1.1/people/173/?format=json","name":"Jaslo Ziska","email":"jaslo@ziska.de"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/23210/mbox/","series":[{"id":5141,"url":"https://patchwork.libcamera.org/api/1.1/series/5141/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5141","date":"2025-04-22T14:25:18","name":"gstreamer: Add support for read- and write-only controls","version":1,"mbox":"https://patchwork.libcamera.org/series/5141/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/23210/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/23210/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 D41F6BE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 22 Apr 2025 14:29:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8745368ACF;\n\tTue, 22 Apr 2025 16:29:48 +0200 (CEST)","from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de\n\t[85.215.255.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AA35F68AC5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 22 Apr 2025 16:29:46 +0200 (CEST)","from archlinux.fritz.box by smtp.strato.de (RZmta 51.3.0 AUTH)\n\twith ESMTPSA id z34f8113METjRL4\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))\n\t(Client did not present a certificate);\n\tTue, 22 Apr 2025 16:29:45 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ziska.de header.i=@ziska.de header.b=\"gvVV4Ry4\";\n\tdkim=permerror (0-bit key) header.d=ziska.de header.i=@ziska.de\n\theader.b=\"N/BhRj4B\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1745332186; cv=none;\n\td=strato.com; s=strato-dkim-0002;\n\tb=Vga5sDKJClHI/3Ykgla/+I7Aq7BdaZ5cEb5nxYvisBSS0RgrsUfxNjzZ45rqHC63IQ\n\tV3fsGXkMdr0l8WT7W/w+n98xOL1NyCh3+1eLJbeEwqlXSeIA0WdX98xI16EzWqvztIfa\n\t7GQYbK0KymdU1Vpe5K8c45BpBFZ2GmcOpnwcJPVo+u8kFDmaGmJrkQaa8j02lReByujV\n\tgFrUs2oYDCh0+N13s9kPKbIo+8zSf3OU1AjtzJACqNiQ2aS4Xz1QHta0V0l5S+sm7Eca\n\tIbO2ZJ4H0cz2GmjiH3QTy03FIyrXUl3ebTX10jXr6b1VZdv0K53hgRswEPVliYGd9xcN\n\twfoQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; t=1745332186;\n\ts=strato-dkim-0002; d=strato.com;\n\th=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:\n\tFrom:Subject:Sender;\n\tbh=9grt9Tubwl2mBBTRtNeIUErEr6759hmc0X2tzP3A7fE=;\n\tb=knEdJ2T+jpv/w8iDWd4qaTXFK2c4VbQRT62WuCr2msxXq04zCajELsf0gh/McPUCdM\n\tkkw2VUxsgfwL64+QfX08tvI281gUURw1z/mFXCATuZaAJ2NhuLqOn1MBbRrF2TiWFarz\n\t4NcKm+yvFV1o0rpn2n1KiF0Gdb11k89ssLV6AzULZ0I7m9zLtkqpCtneyavGDq/zwNlq\n\tWIXdOKFIjBXbjQNKCzZNO0+HEtdsupgg1tQJM7qUtpq7YfTbuxypQyd2uqeVbzuCxquD\n\tNUnFEtNu/fMi3Z9h+yOhM0TiJhMDkrajS5HFKjo4l3txjEw0Z8zMTU8XG0bKTaSaQHem\n\t9Nng==","ARC-Authentication-Results":"i=1; strato.com;\n    arc=none;\n    dkim=none","X-RZG-CLASS-ID":"mo01","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; t=1745332186;\n\ts=strato-dkim-0002; d=ziska.de;\n\th=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:\n\tFrom:Subject:Sender;\n\tbh=9grt9Tubwl2mBBTRtNeIUErEr6759hmc0X2tzP3A7fE=;\n\tb=gvVV4Ry444TfZ9EsIxzaHbYe3Pp7ckvhscLujpCU/JF+XkNWKLi7TuVzE4MU07wpbu\n\t6SYm/W/GJdZkCeN72LWa0Gmy84Kzw3o/Fo2cTWaemA5BjF4/CVRbyKpr0j5Qgi1/G/fr\n\tUzC7JVFop7I1sBE44TKeX8tC582cpe0uvGBBhl9L6yxGbPcLEGmTRIcN2d8Mv2HwqaJ6\n\t/nytipAbY2rDnzDgJpkTg2wSln9YNyGV43Y8hm8i+17TvCxrCa5Fv+Re6juDhk3XhwNj\n\t5GBEfrmLf71v28MyFJHrsgJZoUS9wj70IohcQSAgDNrIkt7ZHYrD3na3kFWegut4KoeU\n\tchOg==","v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1745332186;\n\ts=strato-dkim-0003; d=ziska.de;\n\th=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:\n\tFrom:Subject:Sender;\n\tbh=9grt9Tubwl2mBBTRtNeIUErEr6759hmc0X2tzP3A7fE=;\n\tb=N/BhRj4B0mmPwkJY+bxNDnKM2dcz0KyzkGHac+PamFsSXqLu3d++QAOC8VWwZpDtov\n\tExlSy6jTmKr6b2AUA5AA=="],"X-RZG-AUTH":"\":Jm0XeU+IYfb0x77LHmrjN5Wlb7TBwusDqIM6Hizy8VdfzvKi4yoFC9cCgYrrBvJaIR9ymoISrfhsHWODCRPggeTRCTeK\"","From":"Jaslo Ziska <jaslo@ziska.de>","To":"libcamera-devel@lists.libcamera.org","Cc":"Jaslo Ziska <jaslo@ziska.de>","Subject":"[PATCH 1/3] gstreamer: Add GST_PARAM_CONDITIONALLY_AVAILABLE flag to\n\tproperties","Date":"Tue, 22 Apr 2025 16:25:19 +0200","Message-ID":"<20250422142903.14742-2-jaslo@ziska.de>","X-Mailer":"git-send-email 2.49.0","In-Reply-To":"<20250422142903.14742-1-jaslo@ziska.de>","References":"<20250422142903.14742-1-jaslo@ziska.de>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain; charset=\"us-ascii\"","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":"Add the GST_PARAM_CONDITIONALLY_AVAILABLE flag to the camera properties\nto mark the property as conditionally available, i.e. it might only be\npresent depending on the camera / pipeline.\n\nSigned-off-by: Jaslo Ziska <jaslo@ziska.de>\n---\n src/gstreamer/gstlibcamera-controls.cpp.in | 7 +++++--\n 1 file changed, 5 insertions(+), 2 deletions(-)","diff":"diff --git a/src/gstreamer/gstlibcamera-controls.cpp.in b/src/gstreamer/gstlibcamera-controls.cpp.in\nindex 89c530da..28604a3c 100644\n--- a/src/gstreamer/gstlibcamera-controls.cpp.in\n+++ b/src/gstreamer/gstlibcamera-controls.cpp.in\n@@ -124,7 +124,9 @@ g_param_spec_{{ ctrl.gtype }}(\n {%- elif ctrl.gtype in ['float', 'int', 'int64', 'uchar'] %}\n \t{{ ctrl.min }}, {{ ctrl.max }}, {{ ctrl.default }},\n {%- endif %}\n-\t(GParamFlags) (GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE |\n+\t(GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |\n+\t\t       GST_PARAM_CONTROLLABLE |\n+\t\t       G_PARAM_READWRITE |\n \t\t       G_PARAM_STATIC_STRINGS)\n )\n {%- endset %}\n@@ -138,7 +140,8 @@ g_param_spec_{{ ctrl.gtype }}(\n \t\t\t\"{{ ctrl.name }}\",\n \t\t\t{{ ctrl.description|format_description|indent_str('\\t\\t\\t') }},\n \t\t\t{{ spec|indent_str('\\t\\t\\t') }},\n-\t\t\t(GParamFlags) (GST_PARAM_CONTROLLABLE |\n+\t\t\t(GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |\n+\t\t\t\t       GST_PARAM_CONTROLLABLE |\n \t\t\t\t       G_PARAM_READWRITE |\n \t\t\t\t       G_PARAM_STATIC_STRINGS)\n \t\t)\n","prefixes":["1/3"]}