[{"id":35224,"web_url":"https://patchwork.libcamera.org/comment/35224/","msgid":"<5393f9ecea72ec4906aa5d71c3a974ecd4c044a6.camel@collabora.com>","date":"2025-07-28T22:53:23","subject":"Re: [PATCH v4 1/3] gstreamer: Split value_set_rectangle() GValue\n\thelper","submitter":{"id":31,"url":"https://patchwork.libcamera.org/api/people/31/","name":"Nicolas Dufresne","email":"nicolas.dufresne@collabora.com"},"content":"Le jeudi 24 juillet 2025 à 19:03 +0530, Umang Jain a écrit :\n> Split the value_set_rectangle() GValue helper into further\n> helpers pertaining to libcamera::Point and libcamera::Size.\n> This would help to cover additional cases where helpers\n> are needed for Point and Size individually (in subsequent commits).\n> \n> The libcamera::Rectangle's GValue helper can be easily\n> constructed with the new Point and Size helpers. Hence,\n> this patch does not introduce any functional changes.\n> \n> Signed-off-by: Umang Jain <uajain@igalia.com>\n\nReviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n\n> ---\n>  src/gstreamer/gstlibcamera-controls.cpp.in | 18 ++++++++++++------\n>  1 file changed, 12 insertions(+), 6 deletions(-)\n> \n> diff --git a/src/gstreamer/gstlibcamera-controls.cpp.in\n> b/src/gstreamer/gstlibcamera-controls.cpp.in\n> index 2a16b39a..1bc781cc 100644\n> --- a/src/gstreamer/gstlibcamera-controls.cpp.in\n> +++ b/src/gstreamer/gstlibcamera-controls.cpp.in\n> @@ -17,21 +17,21 @@\n>  \n>  using namespace libcamera;\n>  \n> -static void value_set_rectangle(GValue *value, const Rectangle &rect)\n> +static void value_set_point(GValue *value, const Point &point)\n>  {\n> -\tPoint top_left = rect.topLeft();\n> -\tSize size = rect.size();\n> -\n>  \tGValue x = G_VALUE_INIT;\n>  \tg_value_init(&x, G_TYPE_INT);\n> -\tg_value_set_int(&x, top_left.x);\n> +\tg_value_set_int(&x, point.x);\n>  \tgst_value_array_append_and_take_value(value, &x);\n>  \n>  \tGValue y = G_VALUE_INIT;\n>  \tg_value_init(&y, G_TYPE_INT);\n> -\tg_value_set_int(&y, top_left.y);\n> +\tg_value_set_int(&y, point.y);\n>  \tgst_value_array_append_and_take_value(value, &y);\n> +}\n>  \n> +static void value_set_size(GValue *value, const Size &size)\n> +{\n>  \tGValue width = G_VALUE_INIT;\n>  \tg_value_init(&width, G_TYPE_INT);\n>  \tg_value_set_int(&width, size.width);\n> @@ -43,6 +43,12 @@ static void value_set_rectangle(GValue *value, const\n> Rectangle &rect)\n>  \tgst_value_array_append_and_take_value(value, &height);\n>  }\n>  \n> +static void value_set_rectangle(GValue *value, const Rectangle &rect)\n> +{\n> +\tvalue_set_point(value, rect.topLeft());\n> +\tvalue_set_size(value, rect.size());\n> +}\n> +\n>  static Rectangle value_get_rectangle(const GValue *value)\n>  {\n>  \tconst GValue *r;","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 6A656C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 28 Jul 2025 22:53:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2F2DB691C4;\n\tTue, 29 Jul 2025 00:53:27 +0200 (CEST)","from bali.collaboradmins.com (bali.collaboradmins.com\n\t[148.251.105.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4150C6146A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Jul 2025 00:53:25 +0200 (CEST)","from [IPv6:2606:6d00:11:5a76::5ac] (unknown\n\t[IPv6:2606:6d00:11:5a76::5ac])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested) (Authenticated sender: nicolas)\n\tby bali.collaboradmins.com (Postfix) with ESMTPSA id 2ECC617E0FA8;\n\tTue, 29 Jul 2025 00:53:24 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=collabora.com header.i=@collabora.com\n\theader.b=\"V0EJUKUG\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1753743204;\n\tbh=YGG5hTWWbHqQ0LCP1Am9yDmyMttWLPxFzsdAP5PK2OE=;\n\th=Subject:From:To:Cc:Date:In-Reply-To:References:From;\n\tb=V0EJUKUGEV0eLpjJqYTpsBH/bpd5mN5EfUpN15YfET9soxHl5/GIlSfOWbLn5sZ9I\n\tcRAznjTemYR7B4sxgJrgFYzJtgqfjHEEFUJjyeojoMXaA5U3uFAqCE9uoFfq1E+EKW\n\tEhF7FAahDW1usL7Dw4+EHa7NAwo9vbagIrRv23GDjP6lX3dp2DwpNYeVN6YMv0XMuj\n\tuVHpV6b3L3+BVrJ84XAev4LqHcT1Mou4ywxeK65D/TnCAkv6i1hq59AOudve4pboU0\n\thk9y5Da3UWRQfen6K/b5oW7T8bLs7pMFPYVNcOo+rEAEYx99ruV3+HtC8WqLX7oj/5\n\txb52N1kyQkyzg==","Message-ID":"<5393f9ecea72ec4906aa5d71c3a974ecd4c044a6.camel@collabora.com>","Subject":"Re: [PATCH v4 1/3] gstreamer: Split value_set_rectangle() GValue\n\thelper","From":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","To":"Umang Jain <uajain@igalia.com>, libcamera-devel@lists.libcamera.org","Cc":"Jaslo Ziska <jaslo@ziska.de>","Date":"Mon, 28 Jul 2025 18:53:23 -0400","In-Reply-To":"<20250724133343.353044-2-uajain@igalia.com>","References":"<20250724133343.353044-1-uajain@igalia.com>\n\t<20250724133343.353044-2-uajain@igalia.com>","Autocrypt":"addr=nicolas.dufresne@collabora.com; prefer-encrypt=mutual;\n\tkeydata=mQGiBEUQN0MRBACQYceNSezSdMjx7sx6gwKkMghrrODgl3B0eXBTgNp6c431IfOOEsdvk\n\toOh1kwoYcQgbg4MXw6beOltysX4e8fFWsiRkc2nvvRW9ir9kHDm49MkBLqaDjTqOkYKNMiurFW+go\n\tzpr/lUW15QqT6v68RYe0zRdtwGZqeLzX2LVuukGwCg4AISzswrrYHNV7vQLcbaUhPgIl0D+gILYT9\n\tTJgAEK4YHW+bFRcY+cgUFoLQqQayECMlctKoLOE69nIYOc/hDr9uih1wxrQ/yL0NJvQCohSPyoyLF\n\t9b2EuIGhQVp05XP7FzlTxhYvGO/DtO08ec85+bTfVBMV6eeY4MS3ZU+1z7ObD7Pf29YjyTehN2Dan\n\t6w1g2rBk5MoA/9nDocSlk4pbFpsYSFmVHsDiAOFje3+iY4ftVDKunKYWMhwRVBjAREOByBagmRau0\n\tcLEcElpf4hX5f978GoxSGIsiKoDAlXX+ICDOWC1/EXhEEmBR1gL0QJgiVviNyLfGJlZWnPjw6xhhm\n\ttHYWTDxBOP5peztyc2PqeKsLsLWzAr7QnTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhc0BuZHVmcmVz\n\tbmUuY2E+iGIEExECACIFAlXA3CACGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHFTAi2sB\n\tqgcJngAnRDBTr8bhzuH0KQwFP1nEYtfgpKdAKCrQ/sJfuG/8zsd7J8wVl7y3e8ARbRDTmljb2xhcy\n\tBEdWZyZXNuZSAoQi4gU2MuIEluZm9ybWF0aXF1ZSkgPG5pY29sYXMuZHVmcmVzbmVAZ21haWwuY29\n\ttPohgBBMRAgAgBQJFlCyOAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQcVMCLawGqBwhLQCg\n\tzYlrLBj6KIAZ4gmsfjXD6ZtddT8AoIeGDicVq5WvMHNWign6ApQcZUihtElOaWNvbGFzIER1ZnJlc\n\t25lIChCLiBTYy4gSW5mb3JtYXRpcXVlKSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udW\n\ts+iGIEExECACIFAkuzca8CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHFTAi2sBqgcQX8\n\tAn2By6LDEeMxi4B9hUbpvRnzaaeNqAJ9Rox8rfqHZnSErw9bCHiBwvwJZ77QxTmljb2xhcyBEdWZy\n\tZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPohiBBMRAgAiBQJNzZzPAhsDBgsJC\n\tAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBxUwItrAaoHLlxAKCYAGf4JL7DYDLs/188CPMGuwLypw\n\tCfWKc9DorA9f5pyYlD5pQo6SgSoiC0R05pY29sYXMgRHVmcmVzbmUgKEIgU2MuIEluZm9ybWF0aXF\n\t1ZSkgPG5pY29sYXMuZHVmcmVzbmVAdXNoZXJicm9va2UuY2E+iGAEExECACAFAkUQN0MCGwMGCwkI\n\tBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBxUwItrAaoHPTnAJ0WGgJJVspoctAvEcI00mtp5WAFGgCgr\n\t+E7ItOqZEHAs+xabBgknYZIFPU=","Organization":"Collabora Canada","Content-Type":"multipart/signed; micalg=\"pgp-sha1\";\n\tprotocol=\"application/pgp-signature\"; \n\tboundary=\"=-Y0NesjL4Pa1UILbFuBul\"","User-Agent":"Evolution 3.56.2 (3.56.2-1.fc42) ","MIME-Version":"1.0","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>"}}]