[{"id":30155,"web_url":"https://patchwork.libcamera.org/comment/30155/","msgid":"<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","date":"2024-06-29T06:29:07","subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Hou Qi,\n\nThank you for the patch.\n\nOn 27/06/24 6:52 am, Hou Qi wrote:\n> This changes is fixing critical error message\n> \"gst_value_set_int_range_step: assertion 'start < end' failed\" observed\n> when building GStreamer caps from a stream configuration whose size\n> range holds a single size.\n>\n> GStreamer range step definition requires distinct min and max values\n> definitions, otherwise above error message is output.\n\nAh, seems legit.\n> Libcamera SizeRange instance may define a single size leading to\n\ns/Libcamera/libcamera\n\ns/may define/may return/\n> identical min and max values. Add a test to avoid building GStreamer\n\nThis can be rephrased better.\n\nAdd a conditional check where the min and max of the range are distinct \nduring iterating the supported sizes for each pixelformat.\n\n> range step from a single-size SizeRange to avoid such error.\n>\n> Signed-off-by: Hou Qi <qi.hou@nxp.com>\n\nI can take care of the commit message while applying the patch,\n\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/gstreamer/gstlibcamera-utils.cpp | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index ec4da435..b6672b9f 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>   \t\t}\n>   \n>   \t\tconst SizeRange &range = formats.range(pixelformat);\n> -\t\tif (range.hStep && range.vStep) {\n> +\t\tif (range.hStep && range.vStep && range.min != range.max) {\n>   \t\t\tGstStructure *s = gst_structure_copy(bare_s);\n>   \t\t\tGValue val = G_VALUE_INIT;\n>","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 63F9ABD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat, 29 Jun 2024 06:29:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7E5F762C99;\n\tSat, 29 Jun 2024 08:29:14 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 60D31619C7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 29 Jun 2024 08:29:13 +0200 (CEST)","from [IPV6:2405:201:2015:f873:55d7:c02e:b2eb:ee3f] (unknown\n\t[IPv6:2405:201:2015:f873:55d7:c02e:b2eb:ee3f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 33EC74B0;\n\tSat, 29 Jun 2024 08:28:46 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"oDOD7ZMz\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719642528;\n\tbh=mAckJuoReVStQ0ryb2mZhORMC0M9LaUHviqf47v/2n4=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=oDOD7ZMzFeyofjZDxr+Bu7APhMDpOmiLt6HU6TTuuU6c38/6YohjaV7vmTNl9OxPk\n\ty+REhbJEQqi45StPOJFd5WQrlkDEvO8apQoEcUxzcyFglIKRTA8ju8ewSSIrsEffMm\n\tktBNmmSoTg3ByewJsYUWHhoyn5l2qVFD7atfc3Ro=","Message-ID":"<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","Date":"Sat, 29 Jun 2024 11:59:07 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Content-Language":"en-US","To":"Hou Qi <qi.hou@nxp.com>, libcamera-devel@lists.libcamera.org","Cc":"jared.hu@nxp.com, julien.vuillaumier@nxp.com","References":"<20240627012204.1949820-1-qi.hou@nxp.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<20240627012204.1949820-1-qi.hou@nxp.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}},{"id":30164,"web_url":"https://patchwork.libcamera.org/comment/30164/","msgid":"<PAXPR04MB8285B274634F9022AD1B68E297D32@PAXPR04MB8285.eurprd04.prod.outlook.com>","date":"2024-07-01T01:11:06","subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":195,"url":"https://patchwork.libcamera.org/api/people/195/","name":"Qi Hou","email":"qi.hou@nxp.com"},"content":"Hi Umang Jain,\n\nThanks for your review.\n\nRegards,\nQi Hou\n\n-----Original Message-----\nFrom: Umang Jain <umang.jain@ideasonboard.com> \nSent: 2024年6月29日 14:29\nTo: Qi Hou <qi.hou@nxp.com>; libcamera-devel@lists.libcamera.org\nCc: Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier <julien.vuillaumier@nxp.com>\nSubject: [EXT] Re: [PATCH] gstreamer: Fix critical warning \"gst_value_set_int_range_step: assertion 'start < end' failed\"\n\nCaution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n\n\nHi Hou Qi,\n\nThank you for the patch.\n\nOn 27/06/24 6:52 am, Hou Qi wrote:\n> This changes is fixing critical error message\n> \"gst_value_set_int_range_step: assertion 'start < end' failed\" \n> observed when building GStreamer caps from a stream configuration \n> whose size range holds a single size.\n>\n> GStreamer range step definition requires distinct min and max values \n> definitions, otherwise above error message is output.\n\nAh, seems legit.\n> Libcamera SizeRange instance may define a single size leading to\n\ns/Libcamera/libcamera\n\ns/may define/may return/\n> identical min and max values. Add a test to avoid building GStreamer\n\nThis can be rephrased better.\n\nAdd a conditional check where the min and max of the range are distinct during iterating the supported sizes for each pixelformat.\n\n> range step from a single-size SizeRange to avoid such error.\n>\n> Signed-off-by: Hou Qi <qi.hou@nxp.com>\n\nI can take care of the commit message while applying the patch,\n\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/gstreamer/gstlibcamera-utils.cpp | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp \n> b/src/gstreamer/gstlibcamera-utils.cpp\n> index ec4da435..b6672b9f 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>               }\n>\n>               const SizeRange &range = formats.range(pixelformat);\n> -             if (range.hStep && range.vStep) {\n> +             if (range.hStep && range.vStep && range.min != \n> + range.max) {\n>                       GstStructure *s = gst_structure_copy(bare_s);\n>                       GValue val = G_VALUE_INIT;\n>","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 3EB51BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  1 Jul 2024 01:11:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7343F62C99;\n\tMon,  1 Jul 2024 03:11:10 +0200 (CEST)","from EUR02-DB5-obe.outbound.protection.outlook.com\n\t(mail-db5eur02on20600.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:2608::600])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2ECC4619C3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Jul 2024 03:11:08 +0200 (CEST)","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t(2603:10a6:102:1ca::15)\n\tby AM9PR04MB8554.eurprd04.prod.outlook.com (2603:10a6:20b:435::14)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.29;\n\tMon, 1 Jul 2024 01:11:06 +0000","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd]) by\n\tPAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd%7]) with mapi id 15.20.7719.028;\n\tMon, 1 Jul 2024 01:11:06 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"gb5N7baC\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n\tb=iHjS6wWtWTLkxMrNxPzSel4OvT5j1bdlrREf+uzDGDu/A2JbHtJ4n9w7hJG/SXUO/q7sg5ak3oVsDqgxjNg279LIiJJnnWQcqevLE1i7ONbPL95HuZqvQ5pNqAFqcvRpdLVswX0LX6BkCDtj7gU0V5FyVMClyw+aLuHki8OW3DdZbEgKmGk8/Ez2rJutdTy9DYUaJDMl9YKntjra8TYDBI48MaCrF6dqO7fRd6YWc8xLlJVlMGe3bXvvL9Jmv10wCnn3A84julb4CXb6XOV0hRozCkKeJq/1EVvPjzycHBde5lJ0GQQliGZAOu9NwTGFRKn3J9S+9ibf7GBDlbwjOg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=LQIR6maMvaFGcLMJvdrbV58qNLxJ4bM41AxQahrlMzM=;\n\tb=KV2BHSzg5eVYNR75aUqO+ANkiz/JEU4MaAfbURXdVXDbEnYMo+As6fOnElL8oG8ebpBHI4fEUc1mdee4ZiIU2ewmN54QLahYV2IgT3Ld3DcSx0jgLBC1PJTSl1AlVo7VT9yz1jQrNVpQGDz64J79tSYFdatceeXEWDDnCKxb5t6AX2oN1tWhjR7uG7IO7xOkgQwU5f2BSj23wJorBSI3jU1Q8HrjiTn3j4NIWMgrAOGomSpY3dsr51t5nURwsb3xyj4S9QH5nd/opL8QnUQ9j3h0G3tRTDvbNTLHvgj6db19Pk1sFKhVn/FTBrkdi8qRjV3d5RMlzEt4v2O4bwzYxw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=LQIR6maMvaFGcLMJvdrbV58qNLxJ4bM41AxQahrlMzM=;\n\tb=gb5N7baC8O4NSUrrRUHStmrU02yj2aQUy3e0E2dMzOhvAm08i4ejeBbG2lcJivXC4FKj+MUirIAmlM33CZQ5crtM5/9UyfmMOVpaTtXvLOK90PpLvVkF3c+w4qLH+8wrbacWgUgjvOy51gcb9ptrxP3hXFuorc3bfy1kzVgTHT8=","From":"Qi Hou <qi.hou@nxp.com>","To":"Umang Jain <umang.jain@ideasonboard.com>,\n\t\"libcamera-devel@lists.libcamera.org\"\n\t<libcamera-devel@lists.libcamera.org>","CC":"Jared Hu <jared.hu@nxp.com>, Julien Vuillaumier\n\t<julien.vuillaumier@nxp.com>","Subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Topic":"[EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Index":"AQHayDCCKxwMoe+3L0OvvI2+4pLyGrHeSuiAgALLSPA=","Date":"Mon, 1 Jul 2024 01:11:06 +0000","Message-ID":"<PAXPR04MB8285B274634F9022AD1B68E297D32@PAXPR04MB8285.eurprd04.prod.outlook.com>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>\n\t<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","In-Reply-To":"<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"gb5N7baC\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PAXPR04MB8285:EE_|AM9PR04MB8554:EE_","x-ms-office365-filtering-correlation-id":"a9dc4502-3809-4bdf-d507-08dc996aaf17","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n\tARA:13230040|1800799024|366016|376014|38070700018; ","x-microsoft-antispam-message-info":"=?utf-8?q?f4r3pxuwNGKFztMCk5porXb4x3CT?=\n\t=?utf-8?q?koJyqZB2cS3LYkk2B5EcNSZRwSimxm7SUTiKOfqdIMIXS8RfXRMKJrcf?=\n\t=?utf-8?q?zw3U1jl/cE5NghP2qWxz86ueIZraJ+1bF5UFO50izxXUCzbf5Ka1mGPE?=\n\t=?utf-8?q?Pdz5daLtVVXUttDJdHcNddQgkqftUsiEznPVh9MccHnLfX0Xc4dvr9R1?=\n\t=?utf-8?q?oiS0qZUP4S20ITOP/8v2SRcdhHEw39CmuWpMxoJZ2PdyUEnCWQ1hySj2?=\n\t=?utf-8?q?oWV/enxpYPVYSuI9VaIbel4aTMvFzYkEPCVxkQzQZ7TzR8TBYyut1Q3r?=\n\t=?utf-8?q?b4HNgG6sMli9+26cWPCMCr1XTTxq427ZDA3rVpCLNXdMTuZVjcN1zgXH?=\n\t=?utf-8?q?9hVzz0EhFxbhznLJrILppY3vy/U2OTqgNKAeZlFThg4Wa1xDqJcNoXXx?=\n\t=?utf-8?q?nTyGGHN2V9HsvvsJI/sHDq8O+XcSb/9dMiiVGzWVsEef40w0wMLbHN2H?=\n\t=?utf-8?q?z46YdTapTjhL1gwIXdnf/6bQTvt5CZHPBtKhHbJWZvM2zjl9O4SubmoD?=\n\t=?utf-8?q?CCjxlmPhMkMaeFJPnKzSkfybmNKKHjtb3SfNikTS1n50x7HN76PIPXcm?=\n\t=?utf-8?q?0JbIjRkpejWmkiCX4zpiAjxeQlSs0dg1nYaJOjwehvJqiuG9q7qdiJnL?=\n\t=?utf-8?q?h7bZdpd6bJO4mRo3sI81jZigceBJEBD4TBkWW1zc97WGeBKKMK9GfRde?=\n\t=?utf-8?q?qXg8IRLsdjuMYV8SdOfOeQNM4YWY6hm2+CqWaxMWBBbZx5nPUyQxEazx?=\n\t=?utf-8?q?h/Y0+tf1G/3U5rTOFsS3Q0E0EZ7hUZHQ1nC7iSdbDDF0GoDs25+/3bBW?=\n\t=?utf-8?q?/+O7ijv24+rj4XJgSXC0SHPiUscaYvMhivf1sQrNZyhQw5SjOzo5cKqC?=\n\t=?utf-8?q?xIWTUJtWHTwtMBr75wT5sCB0jv+yxz78yMtImEj3svvSb8tI0WTdocpW?=\n\t=?utf-8?q?dn0ehsXjt0HoLOECYRBw2Rti/zJF4WqOBxUEQ7PBrk3taDbgPWPq4OhB?=\n\t=?utf-8?q?R/u48QZtx4TojB3D4wlZymEeOLXhcyx9PdpK4o2ThH/wLQqbShVG59Ze?=\n\t=?utf-8?q?dMHCM0VQN4D45P0r+WQh96nv1roOx+aX82ZY+CVd5uV4DJftvgxtJAuI?=\n\t=?utf-8?q?8HnxEbjRICJhWu+epHBam7HDwfDxa907OFN54D0JIPkQRPIvgsey4H96?=\n\t=?utf-8?q?c7HEesdPaStVK+EDT8K9+Zoufwv+shPJlq0x3O66Pms5C6p6PJkJhme9?=\n\t=?utf-8?q?xYDRZpseQYaoWLC3Z7DickIMgLp8Qq2e54nPDbU2GgiCvg/YJGDMU8AN?=\n\t=?utf-8?q?Z+xAXG9J12UcREfXP04Un14OcMoKntX7eq7af8KAdBnzTnOg7sKXsXdz?=\n\t=?utf-8?q?Zf168MEXnX914kAzLZZ2Ry0QwlM28w3gwOTSNDpJV1QSRMK1Mc2Ssd0Z?=\n\t=?utf-8?q?gW7MxOq/MDiDHzWVUu5iEXAQkyLi4CtFaAgcV2hRQX09zuMuNTnYjNx/?=\n\t=?utf-8?q?SQ=3D=3D?=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:PAXPR04MB8285.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT;\n\tSFP:1101; ","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?nYaT5gL9SNaEQ3j++r0ypozyK?=\n\t=?utf-8?q?CpBuP41wgLaYwnQSNejKhXiZYGp0rJnOY7C2CfdLtKCu1J/X88n5q+M2?=\n\t=?utf-8?q?AbZmD8AQvIrjy/3CrejsX40UrGn/K5XsXm6BeUE/HqcbuKvrifYk/yAs?=\n\t=?utf-8?q?Bn8AUEqnlU4DObgRJ8tiNSvBLeTnnD+4n2iYJiWZ3MmGVDyhEGWVot9H?=\n\t=?utf-8?q?btmMCfh04o5I8LqqbYWePWBslz5PcJhuJjZyKqe/ImgOnwxBwW5IyKwh?=\n\t=?utf-8?q?yzINTyaL+EgLMoRF98mQ5BW9VKOFYpYdruXmotH5bwwXMhOX2UxPhnbO?=\n\t=?utf-8?q?BzUdBc8Ojddh5Gmuxl7a2KOC0D9hQb1Bi8vwzGZuPFu86nFME7BCjBYA?=\n\t=?utf-8?q?bwRJCyN1v6nOl7QtSlsrfSWvW3Bzw90SFO2aQeOVzzdQiVetflVwQ9br?=\n\t=?utf-8?q?Afz/SMy+EgMFjG6bGyn0oC2Clkb/EVehJeTbjng6xumGoJ7UjOANzTDV?=\n\t=?utf-8?q?F+YD4Au9rf86rxJ5g2ZG6ouLreso2JGTS8i5p0qmTrfE+9DAXwnzZJWl?=\n\t=?utf-8?q?Ah9eA943pOYC7cpQhz655BpT3DuK9rl2O0X4niUu7XTtfbWJyU+zLadh?=\n\t=?utf-8?q?EHnIWgo5xHGBt1VEos+xN17FDCSYAWPtgglC+f5/a3hj6hF4C0GbWTfY?=\n\t=?utf-8?q?jc2kdb9sqNMBMP2/EECaavtu0jenmc71Tbu8OlHEfMH6co3alIIijDiA?=\n\t=?utf-8?q?lLQLVCKgEltTFj8KujQeBlsZ3P8xi159tGfihPs9WE+F2lWa2BRi+poa?=\n\t=?utf-8?q?aJKHP+iXmaM4ZQBDof+6rSbdF5beXrE06oeTKeUxl5eiVEmtEa4Q0eLq?=\n\t=?utf-8?q?UX7J9l563T5gugXi7eCohzubjHLiMS+b9yXeB1IKfAOGEo2MVnPZzub8?=\n\t=?utf-8?q?3SUcuJqH0V7R8/f1Oo6SEi14OJznf/ftHedn5hpEwGlyAUlyo0IK1YFw?=\n\t=?utf-8?q?7eC4+OHcVKY/9MTYNFKEszDQAoroEvJ9s0DAnvWEHVkgTdHJpaykKIwa?=\n\t=?utf-8?q?UOqCTFfZwC5ZGXIBpD27WmN7xU+PK6D/Hcs2TkK+UDN9n5KML5QDmlVI?=\n\t=?utf-8?q?g8DMMhIalh1EfcEdPiSp0Nky2B8xBZQYE6e9G6Hd74eDHzj4obudeoq3?=\n\t=?utf-8?q?V4/heemlOywfSUcsl0MuMCPI8XWTf10arib4WaADQldR3CEDs89nDScm?=\n\t=?utf-8?q?LWm8jsOjjjl1CsGzdCZM/5pJ98az9xW/aaS/1r4SMVnEueKsw0sAwq3z?=\n\t=?utf-8?q?tkfMJAG/DR7udvAmIhKvrZUhxBRfPCaoLe5L5N9RJUPkVUEXCR/Hi8lZ?=\n\t=?utf-8?q?eVZMB8PZ3vV6a+oTPq1dNs6bFR7qe4b9RpZN5llY1I5jbGp0xyS/BkN8?=\n\t=?utf-8?q?NPGKmN+lmfyDBLdhbTf3HxsJg5W+l5fBPaZ1KanyPkwO5BrX24gM4832?=\n\t=?utf-8?q?EX+jru/lzuwR5hwDV0TdYt+vTEoDm9M66uIlNYtxU1MOzst3PwtCdYcK?=\n\t=?utf-8?q?Kd/LGvujqINy9Rv3Ls8MuiGcUXKtQW6bE6JF91pP4LZAIS5pYDD7WgAh?=\n\t=?utf-8?q?C0DIH34xJP/9/1BsCaKu4m09kvP9JXDqQ2aALG/MpVyeu4xBlHuEsL7I?=\n\t=?utf-8?q?RlLAqSxCuIMc4F/7HDO0C+XNVH27cMG10kBRUIkKos=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8285.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"a9dc4502-3809-4bdf-d507-08dc996aaf17","X-MS-Exchange-CrossTenant-originalarrivaltime":"01 Jul 2024 01:11:06.2681\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"WUHlHyN4+28igS1ZZ99hjkCSNBrF199nlpols2DprS/sNhoYDQttIYbJYbwkQSNV","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM9PR04MB8554","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>"}},{"id":30290,"web_url":"https://patchwork.libcamera.org/comment/30290/","msgid":"<ZoZfYICKRlxccjnM@pyrite.rasen.tech>","date":"2024-07-04T08:37:52","subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"On Sat, Jun 29, 2024 at 11:59:07AM +0530, Umang Jain wrote:\n> Hi Hou Qi,\n> \n> Thank you for the patch.\n> \n> On 27/06/24 6:52 am, Hou Qi wrote:\n> > This changes is fixing critical error message\n> > \"gst_value_set_int_range_step: assertion 'start < end' failed\" observed\n> > when building GStreamer caps from a stream configuration whose size\n> > range holds a single size.\n> > \n> > GStreamer range step definition requires distinct min and max values\n> > definitions, otherwise above error message is output.\n> \n> Ah, seems legit.\n> > Libcamera SizeRange instance may define a single size leading to\n> \n> s/Libcamera/libcamera\n> \n> s/may define/may return/\n> > identical min and max values. Add a test to avoid building GStreamer\n> \n> This can be rephrased better.\n> \n> Add a conditional check where the min and max of the range are distinct\n> during iterating the supported sizes for each pixelformat.\n> \n> > range step from a single-size SizeRange to avoid such error.\n> > \n> > Signed-off-by: Hou Qi <qi.hou@nxp.com>\n> \n> I can take care of the commit message while applying the patch,\n> \n> \n> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> > ---\n> >   src/gstreamer/gstlibcamera-utils.cpp | 2 +-\n> >   1 file changed, 1 insertion(+), 1 deletion(-)\n> > \n> > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > index ec4da435..b6672b9f 100644\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n> >   \t\t}\n> >   \t\tconst SizeRange &range = formats.range(pixelformat);\n> > -\t\tif (range.hStep && range.vStep) {\n> > +\t\tif (range.hStep && range.vStep && range.min != range.max) {\n> >   \t\t\tGstStructure *s = gst_structure_copy(bare_s);\n> >   \t\t\tGValue val = G_VALUE_INIT;\n>","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 7A350BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Jul 2024 08:38:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2528A62E22;\n\tThu,  4 Jul 2024 10:38:05 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 29B28619C4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Jul 2024 10:38:03 +0200 (CEST)","from pyrite.rasen.tech (h175-177-049-156.catv02.itscom.jp\n\t[175.177.49.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E6DC7502;\n\tThu,  4 Jul 2024 10:37:31 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"i0PxXuxH\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1720082254;\n\tbh=VILm02vSGzQA5X5kHqthUXjbCGozLjqu2XLW6h+krWk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=i0PxXuxHtz8RNCB6bZriAFs73yb7LP4DLVUTTSkg5rmegIgGn36Yv9IFSKpH6wwYj\n\thwkxeD+RrFCHWC/wp2Bwlt/lCY91pJZFUP/RkcgpPEaDkOrKZcoOtzIBU02G8w9sOd\n\taF1dDg8TqKpSraxA6afU6M5ru1TG4dvo9u7RZ4Zo=","Date":"Thu, 4 Jul 2024 17:37:52 +0900","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Cc":"Hou Qi <qi.hou@nxp.com>, libcamera-devel@lists.libcamera.org,\n\tjared.hu@nxp.com, julien.vuillaumier@nxp.com","Subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Message-ID":"<ZoZfYICKRlxccjnM@pyrite.rasen.tech>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>\n\t<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<f33bda64-76a4-4eb7-a577-e0b95bcbc774@ideasonboard.com>","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>"}},{"id":30337,"web_url":"https://patchwork.libcamera.org/comment/30337/","msgid":"<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>","date":"2024-07-04T16:04:17","subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":168,"url":"https://patchwork.libcamera.org/api/people/168/","name":"Olivier Crête","email":"olivier.crete@collabora.com"},"content":"Hi,\n\nOn Thu, 2024-06-27 at 10:22 +0900, Hou Qi wrote:\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>  \t\t}\n>  \n>  \t\tconst SizeRange &range = formats.range(pixelformat);\n> -\t\tif (range.hStep && range.vStep) {\n> +\t\tif (range.hStep && range.vStep && range.min != range.max) {\n>  \t\t\tGstStructure *s = gst_structure_copy(bare_s);\n>  \t\t\tGValue val = G_VALUE_INIT;\n\nWhat if range.min.width == range.max.widht, but range.min.height !=\nrange.max.height ?\n\nI think a more foolproof implementation is:\n\ng_value_init(&val, GST_TYPE_INT_RANGE);\nif (range.min.width == range.max.width) {\n  gst_structure_set_int (s, \"width\", G_TYPE_INT, range.min.width);\n} else {\n  gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n  gst_structure_set_value(s, \"width\", &val);\n}\n\nif (range.min.height == range.max.height) {\n  gst_structure_set_int (s, \"height\", G_TYPE_INT, range.min.height);\n} else {\n  gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n  gst_structure_set_value(s, \"height\", &val);\n}\n\ngst_caps_merge_structure(caps, s); // Using merge to avoid duplicating existing structures from size)","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 68EC4BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Jul 2024 16:04:24 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 37C0162E22;\n\tThu,  4 Jul 2024 18:04:23 +0200 (CEST)","from madrid.collaboradmins.com (madrid.collaboradmins.com\n\t[46.235.227.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7173C619C8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Jul 2024 18:04:20 +0200 (CEST)","from [100.93.118.214] (cola.collaboradmins.com [195.201.22.229])\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\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: ocrete)\n\tby madrid.collaboradmins.com (Postfix) with ESMTPSA id EB2C83781107; \n\tThu,  4 Jul 2024 16:04:18 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=collabora.com header.i=@collabora.com\n\theader.b=\"sCsa1AMV\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1720109060;\n\tbh=KpAC33sdLFA00Zozh26Cgn4diHIj3d030Zx4Hn0FsTU=;\n\th=Subject:From:To:Cc:Date:In-Reply-To:References:From;\n\tb=sCsa1AMVXxSGzHfB0ke4Idyxx5gkN5yZLsnClGNpsEPWzsEQGqBw2FEX6AEuAdBt6\n\tfA1jDdqp0vw04Q7upSmgGw0hJevkuVqVxom+3WncZGq4hqSDGS6HpOI2WPFX91utyI\n\tkDpZKuBLBZ7kGS6wPFM5HGgfKh95f+MnKrXKmseZPkf2K8lwgbQY0ZhWUO2tTXcx68\n\tz+bB3fkComptEsyyWQdUXiV5tzcK2WzBzkH0BMpsroq0a6dnRGJ1g8faAZzExZF1uA\n\tnfl+0Idb5vvoE01svPyhFdMbzg7Jo/8EP15xQoXezowhTol+NlvBsrsJmRLI5Ha7e2\n\t0JmkIsURf6GdA==","Message-ID":"<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>","Subject":"Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","From":"Olivier =?iso-8859-1?q?Cr=EAte?= <olivier.crete@collabora.com>","To":"Hou Qi <qi.hou@nxp.com>, libcamera-devel@lists.libcamera.org","Cc":"jared.hu@nxp.com, julien.vuillaumier@nxp.com","Date":"Thu, 04 Jul 2024 12:04:17 -0400","In-Reply-To":"<20240627012204.1949820-1-qi.hou@nxp.com>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","User-Agent":"Evolution 3.52.3 (3.52.3-1.fc40) ","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>"}},{"id":30479,"web_url":"https://patchwork.libcamera.org/comment/30479/","msgid":"<PAXPR04MB8285EFC99CA78D129BF1365D97AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","date":"2024-07-25T08:59:22","subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":195,"url":"https://patchwork.libcamera.org/api/people/195/","name":"Qi Hou","email":"qi.hou@nxp.com"},"content":"Hi @Olivier Crête,\n\nThank you very much for pointing out the corner case. I refined the patch based on your kind suggestion and it works.\nBut what should I do next? To resend a review mail or continue using this mail?\n\ndiff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\nindex ec4da435..79f71246 100644\n--- a/src/gstreamer/gstlibcamera-utils.cpp\n+++ b/src/gstreamer/gstlibcamera-utils.cpp\n@@ -359,13 +359,21 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n                        GValue val = G_VALUE_INIT;\n \n                        g_value_init(&val, GST_TYPE_INT_RANGE);\n-                       gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n-                       gst_structure_set_value(s, \"width\", &val);\n-                       gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n-                       gst_structure_set_value(s, \"height\", &val);\n+                       if (range.min.width == range.max.width) {\n+                               gst_structure_set(s, \"width\", G_TYPE_INT, range.min.width, nullptr);\n+                       } else {\n+                               gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n+                               gst_structure_set_value(s, \"width\", &val);\n+                       }\n+                       if (range.min.height == range.max.height) {\n+                               gst_structure_set(s, \"height\", G_TYPE_INT, range.min.height, nullptr);\n+                       } else {\n+                               gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n+                               gst_structure_set_value(s, \"height\", &val);\n+                       }\n                        g_value_unset(&val);\n \n-                       gst_caps_append_structure(caps, s);\n+                       caps = gst_caps_merge_structure(caps, s);\n                }\n        }\n\n\nRegards,\nQi Hou\n\n-----Original Message-----\nFrom: Olivier Crête <olivier.crete@collabora.com> \nSent: 2024年7月5日 0:04\nTo: Qi Hou <qi.hou@nxp.com>; libcamera-devel@lists.libcamera.org\nCc: Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier <julien.vuillaumier@nxp.com>\nSubject: [EXT] Re: [PATCH] gstreamer: Fix critical warning \"gst_value_set_int_range_step: assertion 'start < end' failed\"\n\nCaution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n\n\nHi,\n\nOn Thu, 2024-06-27 at 10:22 +0900, Hou Qi wrote:\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>               }\n>\n>               const SizeRange &range = formats.range(pixelformat);\n> -             if (range.hStep && range.vStep) {\n> +             if (range.hStep && range.vStep && range.min != \n> + range.max) {\n>                       GstStructure *s = gst_structure_copy(bare_s);\n>                       GValue val = G_VALUE_INIT;\n\nWhat if range.min.width == range.max.widht, but range.min.height != range.max.height ?\n\nI think a more foolproof implementation is:\n\ng_value_init(&val, GST_TYPE_INT_RANGE);\nif (range.min.width == range.max.width) {\n  gst_structure_set_int (s, \"width\", G_TYPE_INT, range.min.width); } else {\n  gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n  gst_structure_set_value(s, \"width\", &val); }\n\nif (range.min.height == range.max.height) {\n  gst_structure_set_int (s, \"height\", G_TYPE_INT, range.min.height); } else {\n  gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n  gst_structure_set_value(s, \"height\", &val); }\n\ngst_caps_merge_structure(caps, s); // Using merge to avoid duplicating existing structures from size)\n\n\n\n--\nOlivier Crête\nolivier.crete@collabora.com\nMultimedia Lead","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 B126AC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jul 2024 08:59:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C8D3163371;\n\tThu, 25 Jul 2024 10:59:25 +0200 (CEST)","from AS8PR04CU009.outbound.protection.outlook.com\n\t(mail-westeuropeazlp170110003.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c201::3])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1B17A63369\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jul 2024 10:59:24 +0200 (CEST)","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t(2603:10a6:102:1ca::15)\n\tby DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.20;\n\tThu, 25 Jul 2024 08:59:22 +0000","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd]) by\n\tPAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd%4]) with mapi id 15.20.7784.017;\n\tThu, 25 Jul 2024 08:59:22 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"bC1zf7+g\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=y1N4ZsVQuCWgcV9T/PxrEMyvxqvCaSBYCGDUq8MP2kK+PjAKVIb6L0YGAnPf+wsdgL/FJvG+q0Jl2OtMfc+IK4dT/s5sGJtlMv2PZVeQyVKVwAovay9c/LJXJn1fenVpHpUzis7L6J79mxbde+Jcif2yHNZu8KL+wgVMyDpsUdz8UR2XD0Rawcam7JBhOi0uTLnYPMcUnnXYfcRmNFOG/wP/xYuCjxxV6i5TC77SBomCP4GP//rY4aUPVIODZphV6KAdvnXZ50Q2Av3u+kevcnLnZUelVZpVUAdskax1KeGJbVz7nx524SlaBIVsVBxSIRbUm8AEswwyFhpT/ChmWQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=fbxKqjMBK5TODhDbPZcpstCD1q0IQE8yWG0wFgCJNEs=;\n\tb=B98WeKR6H+zJ5zyvwcPRJNiEISSy9CBDWP2MPoL2qBUVHvI7sQLzA8MyrGQrx2eRQoxRHb9GG8v0gouvyMpkMY+c2ImEtKAjTZHN0S48zH3twsHvIUliBEdu/yE8L8AsoG3PMhb5D2rVCy9Xkm3v6Z/somjh52tuBpupGXlNtNUW+E+rHQLHmlJOQzHahBdwFeHmhyUQi1COA5zLCSQ3hDVV4YGtG6JflY0+RAAmUTZSjObY35odvRtzeiG+7JliZF32klBxBSy600rIDXPGcXz3cTpaVH/iNdU6qcR0U+DFJ/fkxjXJIDM/9+kKcflb8A1kmsJB2RBWAgBPaeDywA==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=fbxKqjMBK5TODhDbPZcpstCD1q0IQE8yWG0wFgCJNEs=;\n\tb=bC1zf7+grKtehrgH6etCESsh9inqhtT/7Q/6WfcBgocEn39w8L6bL4a2HCPua3uNRR+Xkg2ztduk+u3+nkPl189uDAZ5YRXjnelqE64lofu5oKBVQatuVeBXb3dFS6sybV40V+B1YJ6Y6hrXHOZxNa2oygiVdah45z+y7ITCbNI5nZhjAoPWcQdfpFCyo2aL6qskA5MKwxOmt37ph8q4hwdfDgzwM1gz/7y5pKaVsGnjtPeszQ4uWdB9JDp/qMZ7ZtkRLqs2wjnYKiE7TqaDzaTtmur2KJfMUDvGMcPsq/PWSKNic0Zapij4ryOuAMhtpvie0nDHB4jY+2IRGjzIcg==","From":"Qi Hou <qi.hou@nxp.com>","To":"=?utf-8?q?Olivier_Cr=C3=AAte?= <olivier.crete@collabora.com>,\n\t\"libcamera-devel@lists.libcamera.org\"\n\t<libcamera-devel@lists.libcamera.org>","CC":"Jared Hu <jared.hu@nxp.com>, Julien Vuillaumier\n\t<julien.vuillaumier@nxp.com>","Subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Topic":"[EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Index":"AQHayDCCKxwMoe+3L0OvvI2+4pLyGrHmx0OAgCCHeeA=","Date":"Thu, 25 Jul 2024 08:59:22 +0000","Message-ID":"<PAXPR04MB8285EFC99CA78D129BF1365D97AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>\n\t<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>","In-Reply-To":"<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-Mentions":"olivier.crete@collabora.com","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"bC1zf7+g\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PAXPR04MB8285:EE_|DU2PR04MB8616:EE_","x-ms-office365-filtering-correlation-id":"bd00f927-e4e2-4b5d-f667-08dcac881388","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n\tARA:13230040|376014|1800799024|366016|38070700018; ","x-microsoft-antispam-message-info":"=?utf-8?q?l4HTzodt8kZj4mdJ2cUcFtsvPJG4?=\n\t=?utf-8?q?xMNyjajzEnY7SldOh+O6nu7fjOSmilJuvNkHOhexfRj+95yCx7Hd+dAH?=\n\t=?utf-8?q?gCgqy/GXCoWiFcqBkPd/TuY3WPKJXQMrtxw3dP75VBmMWeKJH1rnPDW6?=\n\t=?utf-8?q?5Hqc/IJ6hLNtMUlnTDPcmfwH/G87bZGLwXD1odcNWnpYey/q9LlxlFpV?=\n\t=?utf-8?q?lQSGlbx3MHwbnQCUy2Am3/9uCSMhs3NlOg2RJvpv3Yahu18Pli35/3hz?=\n\t=?utf-8?q?a9om8RAUezhtu5fKYoLTpYbUh5cUG9ixvKaAzd2448ydMdaCoBhYI2iE?=\n\t=?utf-8?q?v0CynEocl6nMioLCKR+4BmxFgaBCA/pBztsQqJGAwl/zzmr4f7oVmHaR?=\n\t=?utf-8?q?iUTOsLgXBkGM2BMyvJ/TqGwvJM/JK5khFDcVN7/274C1OJumfJe9tji6?=\n\t=?utf-8?q?0TIvRwJHLntxs57fMmgZUL4vZXDaiFA0wpEEv52DBKehUXNIi7nOpEPQ?=\n\t=?utf-8?q?1wwunYrVxthGBWTIiWKCX957uxAPAIU7RPuFSYZ2R7fwfVRvwEGFguT0?=\n\t=?utf-8?q?zN2jSjb7PE8RY3khD8zDIukmTsilsLw7KWMWy15cFwSXp9iJQQuAAXs8?=\n\t=?utf-8?q?f9H6txWX2t1cUyErjslFoWOn5d3VUiaL2lyeAXqN+DMiKAbMRQoXoaOk?=\n\t=?utf-8?q?HQi4QWRJNCB8V3FMOON9R/TF73GGEAYCOL/Q0NGJX3iwh3xFsi5cZTJ6?=\n\t=?utf-8?q?utkZt+YfTlW4q+naCneBJkfq5irc5t0rFzJjnttzscLtXSlC3ZQ9YYbO?=\n\t=?utf-8?q?6jXQHGqgGISzmWH5zUdVp6jn6ZFiQxoX3ncdODKaZBjJTSJ1z2j1Tuk4?=\n\t=?utf-8?q?85eRN5KeStxyaRHC3eoAjpavk8inXcd40aG8mYX2VXtM/1BCK7y8I2+S?=\n\t=?utf-8?q?Kq7M+0R2oPpSliIpRsyx4yDvK/BEvBMNHluickDI116o/y35oNw16sEt?=\n\t=?utf-8?q?zL7D70ZZUywOPdWhrSJGof7JcJZZMScrt0js24UUOvmfIewjTEtuT6HR?=\n\t=?utf-8?q?LNxHocA6Cq7w2cNqtHteqBOoqktlkRlnuffkyVxOxoECo5YER8l2aCfD?=\n\t=?utf-8?q?Pgc11rx6cxgUdyGip1c56Ev89gmIIIej/GbeBh8ujwh66Uqg/2e+qd42?=\n\t=?utf-8?q?J0plNeupJM+NpgufatcGQzbZv+GggJg2ZMblqxvSAsxEfMJi08WyBTgW?=\n\t=?utf-8?q?lWHwzdNpUKOGFwLchBJs2ChkdZq2PZbOkj2Ewgdml6WC8XzBJpcbqDBb?=\n\t=?utf-8?q?oWAwcls6oMkWhceUJ8qp95LV7xXKhLGZzzpnV5IUqGN+w0yEqDsPbBxO?=\n\t=?utf-8?q?1T7H3On+O+iXfDH9dSzmrQcF+ej/GT3W9WUG9dmCj41dBxpEfC1NELwR?=\n\t=?utf-8?q?OMKFSonJEb6RpQjm7Vm7T7uhkgDpDWDI6G03cgkfMbOWBt5T9BYRClZo?=\n\t=?utf-8?q?P1OjCBOe463SqEnpJRUC8KIET3MnwvbaWCxq3JThb4U1efZ0PTDSq0o0?=\n\t=?utf-8?q?Eg=3D=3D?=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:PAXPR04MB8285.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT;\n\tSFP:1101; ","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?aEXgTTeS9M5TtQ7hx/9Q4M7UX?=\n\t=?utf-8?q?H3ckrwPi6h2cgGwATEpvaXhvyP+bBw/+g/ZZBf7782eVVUt117jxybvJ?=\n\t=?utf-8?q?/JAgjU96NEYUdjxf4YSw0bINIAkm5BiGCr1zzrMqv28EXQ6ZLfGl1OC3?=\n\t=?utf-8?q?B6wShoay6A0mrnIMb/9/cfHPRyMAFqNvgm0r0mdU5OL1l3x5aBuEOhZ1?=\n\t=?utf-8?q?WAKilmmz5hISTVriOq1mHq/DwRXn/mj/L89uE1PzcYlrAauuC1xpC9O4?=\n\t=?utf-8?q?pISuNiWAj90xrtl9TSJJTpXyX5YPNCvH54J5PgJv2V0i+v5DQXezCksh?=\n\t=?utf-8?q?+QUUMuNAa7lI619Nh0EKy2D+bCu3jpZytMdpTN6ASvp3rPRUJOejFW80?=\n\t=?utf-8?q?sYhCwhk88cyRTqKnHWRbJjYMNYtopxOM3x2dSxW5fvsK8AG/d6dNdFz/?=\n\t=?utf-8?q?U2jUQvtkcbTKdLHhEb09oiKmcK8XkLvyBJ/g4Vs5U4tigpCyDCq6TU0H?=\n\t=?utf-8?q?THJVp2hTscU6VGgNqDitBCRJulH/ubbWGE1DzQLyxdFnF3YBElYFzLIi?=\n\t=?utf-8?q?fj7zVsezzakDITWszb9iCuUCb+qSU6BXx7RbQoon6Y71II0tgoi5eKtc?=\n\t=?utf-8?q?7L0MuKvBmiZPG8Bhxj2GfIfQSIZeJf514AgN5hsCu1tUCOio1Avp4MmI?=\n\t=?utf-8?q?9dH5RfaTA0Ve+DGjp+y+HdMdxIe0VLBs9vsFlNt+YYY3o/87M9U10THh?=\n\t=?utf-8?q?KMOzTev6ThTreMzKN+p1oln+KMqR8ZmDZS+zoDl9Uo19iE1eP2m/+8wl?=\n\t=?utf-8?q?qBxIpKwhRker/Wp34fVAzwLYnxcIE79JwfA2M3F4ME9HPbAIkNDkud4e?=\n\t=?utf-8?q?OWxeZ3nVobWzjH2SMaYLGPUDeVi1PTLguwak4ZKTaUkgJvfQ/OsqxkMV?=\n\t=?utf-8?q?ZxyonA44Xio+zketZGz8yamvfLKSfduHGkSloZu+UTvJJJsccqtmB/iY?=\n\t=?utf-8?q?+3kGH28BouSpOskimRKxqKSvge791QUT1SrX0WgYdChdJQrjQcSe3WDS?=\n\t=?utf-8?q?h/7yZ6QbHUALpGcuU2S0YrkYHJQqk5zZrDsLSgtP97adC2R6k51iziI6?=\n\t=?utf-8?q?klThFXekwqUZ2kFLaikYbglhAtalpS9JttRHdsBjA9aAJWqjMEEcIoZJ?=\n\t=?utf-8?q?V7yBNCP0miDRE0aGyGgSuu6wgg4Q4X26dDSQRNsfNC6iHFo1meLoNmtQ?=\n\t=?utf-8?q?AP7L61ORXsUbr2NGSyT1ACCIy4Gdeix3QfMbsmOjG7Luin3EzCojNevl?=\n\t=?utf-8?q?hzDQ3IC1FkGecDK2+yOyb+T+XT0Ri1pZ+S+93xZBbl7bfHlVv0js81j/?=\n\t=?utf-8?q?lN8AdEBnXBeNuonAl6yh9+HekInIQ4lzNT2dDLPDi99rE7fOEEiqCdBp?=\n\t=?utf-8?q?rRTaibrxB2qo2LAF8oncds3999zc8oTuqwiN9SRXnQl9Pa8HkLVMdtYd?=\n\t=?utf-8?q?iRJaBc0viGylKeTTckxOxLj0y5eLZcZTRI1Oxq9Ech9tB+2bVo9rjHN5?=\n\t=?utf-8?q?AwrTzBlDlOmpHvwvzvXOnlQ8qpziqQU3XCyFzhESzIsnjSsevo3oSGSu?=\n\t=?utf-8?q?CUFV/b3JmQV7UyfNt4/Ay6n37M218DpxBexvgUw+w7f5ihjtiU2+poh9?=\n\t=?utf-8?q?tTFU0WjyJevuvE9s0aaudchGvoy/sJVj5lyGCj1mBY=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8285.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"bd00f927-e4e2-4b5d-f667-08dcac881388","X-MS-Exchange-CrossTenant-originalarrivaltime":"25 Jul 2024 08:59:22.2944\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"FrhdIepZqxZS5+eC1WezZ7WHKX1pGRm/rnfEzSX+8Kvoh0TE0FvuwR3g7/NRiY96","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DU2PR04MB8616","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>"}},{"id":30480,"web_url":"https://patchwork.libcamera.org/comment/30480/","msgid":"<172189826110.392292.13558008006974084887@ping.linuxembedded.co.uk>","date":"2024-07-25T09:04:21","subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Qi,\n\nQuoting Qi Hou (2024-07-25 09:59:22)\n> Hi @Olivier Crête,\n> \n> Thank you very much for pointing out the corner case. I refined the patch based on your kind suggestion and it works.\n> But what should I do next? To resend a review mail or continue using this mail?\n> \n\nPlease could you send a v2 patch with your prefered updates. When you\ngenerate/save the patch, I think you can add '-v2' to git and it will\nupdate [PATCH] to [PATCH v2] to signify this.\n\nThanks\n\nKieran\n\n\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index ec4da435..79f71246 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -359,13 +359,21 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>                         GValue val = G_VALUE_INIT;\n>  \n>                         g_value_init(&val, GST_TYPE_INT_RANGE);\n> -                       gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n> -                       gst_structure_set_value(s, \"width\", &val);\n> -                       gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n> -                       gst_structure_set_value(s, \"height\", &val);\n> +                       if (range.min.width == range.max.width) {\n> +                               gst_structure_set(s, \"width\", G_TYPE_INT, range.min.width, nullptr);\n> +                       } else {\n> +                               gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n> +                               gst_structure_set_value(s, \"width\", &val);\n> +                       }\n> +                       if (range.min.height == range.max.height) {\n> +                               gst_structure_set(s, \"height\", G_TYPE_INT, range.min.height, nullptr);\n> +                       } else {\n> +                               gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n> +                               gst_structure_set_value(s, \"height\", &val);\n> +                       }\n>                         g_value_unset(&val);\n>  \n> -                       gst_caps_append_structure(caps, s);\n> +                       caps = gst_caps_merge_structure(caps, s);\n>                 }\n>         }\n> \n> \n> Regards,\n> Qi Hou\n> \n> -----Original Message-----\n> From: Olivier Crête <olivier.crete@collabora.com> \n> Sent: 2024年7月5日 0:04\n> To: Qi Hou <qi.hou@nxp.com>; libcamera-devel@lists.libcamera.org\n> Cc: Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier <julien.vuillaumier@nxp.com>\n> Subject: [EXT] Re: [PATCH] gstreamer: Fix critical warning \"gst_value_set_int_range_step: assertion 'start < end' failed\"\n> \n> Caution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n> \n> \n> Hi,\n> \n> On Thu, 2024-06-27 at 10:22 +0900, Hou Qi wrote:\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n> >               }\n> >\n> >               const SizeRange &range = formats.range(pixelformat);\n> > -             if (range.hStep && range.vStep) {\n> > +             if (range.hStep && range.vStep && range.min != \n> > + range.max) {\n> >                       GstStructure *s = gst_structure_copy(bare_s);\n> >                       GValue val = G_VALUE_INIT;\n> \n> What if range.min.width == range.max.widht, but range.min.height != range.max.height ?\n> \n> I think a more foolproof implementation is:\n> \n> g_value_init(&val, GST_TYPE_INT_RANGE);\n> if (range.min.width == range.max.width) {\n>   gst_structure_set_int (s, \"width\", G_TYPE_INT, range.min.width); } else {\n>   gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n>   gst_structure_set_value(s, \"width\", &val); }\n> \n> if (range.min.height == range.max.height) {\n>   gst_structure_set_int (s, \"height\", G_TYPE_INT, range.min.height); } else {\n>   gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n>   gst_structure_set_value(s, \"height\", &val); }\n> \n> gst_caps_merge_structure(caps, s); // Using merge to avoid duplicating existing structures from size)\n> \n> \n> \n> --\n> Olivier Crête\n> olivier.crete@collabora.com\n> Multimedia Lead","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 86BE1BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jul 2024 09:04:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 80D9C6336F;\n\tThu, 25 Jul 2024 11:04:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7081E6199A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jul 2024 11:04:24 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B8DF045B;\n\tThu, 25 Jul 2024 11:03:40 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"JcYsCKJx\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1721898220;\n\tbh=SIwspF67wk8aeAn4N6RpUwkQ3HDbu/0LQlCn0cU12tM=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=JcYsCKJxWwk4QVigpH+NWi1gOWeU+uJgCtKa53eyHC5QsjRwOXexHja+79bUhFKIH\n\tuPgmZPvgpOKqAHUJdtlF0+CGRCmv9W5zfdjex/sJ+mrlzJNdoDymcprMBsbC5rDJMo\n\tIAbyNsd31qZNig52PB2IoYWosn669HzjlXSv/2bs=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<PAXPR04MB8285EFC99CA78D129BF1365D97AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>\n\t<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>\n\t<PAXPR04MB8285EFC99CA78D129BF1365D97AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","Subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jared Hu <jared.hu@nxp.com>,\n\tJulien Vuillaumier <julien.vuillaumier@nxp.com>","To":"Olivier =?utf-8?b?Q3LDqnRl?= <olivier.crete@collabora.com>,\n\tQi Hou <qi.hou@nxp.com>, libcamera-devel@lists.libcamera.org","Date":"Thu, 25 Jul 2024 10:04:21 +0100","Message-ID":"<172189826110.392292.13558008006974084887@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}},{"id":30481,"web_url":"https://patchwork.libcamera.org/comment/30481/","msgid":"<PAXPR04MB828575FC8AA233809180442197AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","date":"2024-07-25T09:27:15","subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","submitter":{"id":195,"url":"https://patchwork.libcamera.org/api/people/195/","name":"Qi Hou","email":"qi.hou@nxp.com"},"content":"Done. Thanks\n\nRegards,\nQi Hou\n\n-----Original Message-----\nFrom: Kieran Bingham <kieran.bingham@ideasonboard.com> \nSent: 2024年7月25日 17:04\nTo: Olivier Crête <olivier.crete@collabora.com>; Qi Hou <qi.hou@nxp.com>; libcamera-devel@lists.libcamera.org\nCc: Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier <julien.vuillaumier@nxp.com>\nSubject: RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning \"gst_value_set_int_range_step: assertion 'start < end' failed\"\n\nCaution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n\n\nHi Qi,\n\nQuoting Qi Hou (2024-07-25 09:59:22)\n> Hi @Olivier Crête,\n>\n> Thank you very much for pointing out the corner case. I refined the patch based on your kind suggestion and it works.\n> But what should I do next? To resend a review mail or continue using this mail?\n>\n\nPlease could you send a v2 patch with your prefered updates. When you generate/save the patch, I think you can add '-v2' to git and it will update [PATCH] to [PATCH v2] to signify this.\n\nThanks\n\nKieran\n\n\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp \n> b/src/gstreamer/gstlibcamera-utils.cpp\n> index ec4da435..79f71246 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -359,13 +359,21 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>                         GValue val = G_VALUE_INIT;\n>\n>                         g_value_init(&val, GST_TYPE_INT_RANGE);\n> -                       gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n> -                       gst_structure_set_value(s, \"width\", &val);\n> -                       gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n> -                       gst_structure_set_value(s, \"height\", &val);\n> +                       if (range.min.width == range.max.width) {\n> +                               gst_structure_set(s, \"width\", G_TYPE_INT, range.min.width, nullptr);\n> +                       } else {\n> +                               gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n> +                               gst_structure_set_value(s, \"width\", &val);\n> +                       }\n> +                       if (range.min.height == range.max.height) {\n> +                               gst_structure_set(s, \"height\", G_TYPE_INT, range.min.height, nullptr);\n> +                       } else {\n> +                               gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n> +                               gst_structure_set_value(s, \"height\", &val);\n> +                       }\n>                         g_value_unset(&val);\n>\n> -                       gst_caps_append_structure(caps, s);\n> +                       caps = gst_caps_merge_structure(caps, s);\n>                 }\n>         }\n>\n>\n> Regards,\n> Qi Hou\n>\n> -----Original Message-----\n> From: Olivier Crête <olivier.crete@collabora.com>\n> Sent: 2024年7月5日 0:04\n> To: Qi Hou <qi.hou@nxp.com>; libcamera-devel@lists.libcamera.org\n> Cc: Jared Hu <jared.hu@nxp.com>; Julien Vuillaumier \n> <julien.vuillaumier@nxp.com>\n> Subject: [EXT] Re: [PATCH] gstreamer: Fix critical warning \"gst_value_set_int_range_step: assertion 'start < end' failed\"\n>\n> Caution: This is an external email. Please take care when clicking \n> links or opening attachments. When in doubt, report the message using \n> the 'Report this email' button\n>\n>\n> Hi,\n>\n> On Thu, 2024-06-27 at 10:22 +0900, Hou Qi wrote:\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -354,7 +354,7 @@ gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n> >               }\n> >\n> >               const SizeRange &range = formats.range(pixelformat);\n> > -             if (range.hStep && range.vStep) {\n> > +             if (range.hStep && range.vStep && range.min !=\n> > + range.max) {\n> >                       GstStructure *s = gst_structure_copy(bare_s);\n> >                       GValue val = G_VALUE_INIT;\n>\n> What if range.min.width == range.max.widht, but range.min.height != range.max.height ?\n>\n> I think a more foolproof implementation is:\n>\n> g_value_init(&val, GST_TYPE_INT_RANGE); if (range.min.width == \n> range.max.width) {\n>   gst_structure_set_int (s, \"width\", G_TYPE_INT, range.min.width); } else {\n>   gst_value_set_int_range_step(&val, range.min.width, range.max.width, range.hStep);\n>   gst_structure_set_value(s, \"width\", &val); }\n>\n> if (range.min.height == range.max.height) {\n>   gst_structure_set_int (s, \"height\", G_TYPE_INT, range.min.height); } else {\n>   gst_value_set_int_range_step(&val, range.min.height, range.max.height, range.vStep);\n>   gst_structure_set_value(s, \"height\", &val); }\n>\n> gst_caps_merge_structure(caps, s); // Using merge to avoid duplicating \n> existing structures from size)\n>\n>\n>\n> --\n> Olivier Crête\n> olivier.crete@collabora.com\n> Multimedia Lead","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 F0840C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jul 2024 09:27:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9C1D963371;\n\tThu, 25 Jul 2024 11:27:19 +0200 (CEST)","from AM0PR83CU005.outbound.protection.outlook.com\n\t(mail-westeuropeazlp170100000.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c201::])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9B0166336E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jul 2024 11:27:17 +0200 (CEST)","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t(2603:10a6:102:1ca::15)\n\tby GV1PR04MB10606.eurprd04.prod.outlook.com (2603:10a6:150:207::15)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.20;\n\tThu, 25 Jul 2024 09:27:16 +0000","from PAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd]) by\n\tPAXPR04MB8285.eurprd04.prod.outlook.com\n\t([fe80::e003:8fb:64ea:acfd%4]) with mapi id 15.20.7784.017;\n\tThu, 25 Jul 2024 09:27:15 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"jKmt0x87\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=kZViZ2BumB/1B/iYQeqh1phjA6PPxLKUmzVwR00ANV75fkfRPXP0R6hdRaz4vfp0yijpnjAZTHDkPlQ0BtqbGO3WZu04vLOpDK/4OF8j7SDxt15/fdxmcWIhU0Oj6nug5RKVpavfsiyIizG4mshwXx50xJUEEs3l/Zs/eWxT/tGXNtru9YSgHiTj5GGS6bMt+6KNWXm1wpWc05znzwSzyTB9F7+bg7DjJR1Dk0jE7+ItUMFmhJv1DJSF0kQVRP3lsKc91pAGstkcWCiivv/RGfoxWSyK+vZTwctJVWTyB8aVoKNGhl4KEQ5HB+PRaqi8c17UVkW5LiV76rH7BpgWaQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=58+IsikLp/hqz27asiFz9RLq9Ze0rz90pDGWI1YCXVs=;\n\tb=Gabu5Hp5/A1QpDSi0j5YOGvHQwQz2nASuVC2I3MDT/IrN1KoDlC7l4CuJcIQk6vV2HpycndJ6rYD+giEfwOa0wqscVXFPkEkOlMvCsuVZvdpE6rsVRmHv/pfwMYxK5IJnBE/nfb6PAmIsiT1L2bYQUeyyTjMapz0SJrA030qmPmzjVr+9BeK1P43KKZAkxzQnIBOe2Cs0m0rGx+1C09z2OeOXPlIa1IvjtMPtL3Czg8TBTAAo3cQK00ytti3aP29yC4GaGYGF2g1TLtPzfo75mtKTay9LbF8w9CYLX3Qof/r1cH0kTLHCxrTvtFw3HzAea6qFRG4ScnvDdGFXWTBCA==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=58+IsikLp/hqz27asiFz9RLq9Ze0rz90pDGWI1YCXVs=;\n\tb=jKmt0x87Edc/sPzotKsIjZrUDa8P/NIWnbCqnlGf/IzXBHCOK45nBK5hcOBw0pKiY8zGnUCYBanGvid/tEHkHnwqFXpsyAOha+dILiULTBIrN91ip8jt0DV16DvAiNuHTAjvRrdtQsWEpiRenUWh1nuvtV2/HLkkjElFfd7iz7yenDJP8TusOk0B74qPzLWes2+p43pIquFV6XMBZJ6lBwZG1RmuF5i5CH8O/YJ3mNixU89a8w/u65CiSlcRrwk3A7XmWgEpFr46STPj0fKNnZogoBFV/7g5VDqiLcqh3rookHunr0vZ0nlt3EflEndmX6ix0rtDMcHGN38aceJu9g==","From":"Qi Hou <qi.hou@nxp.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Olivier_Cr?=\n\t=?utf-8?q?=C3=AAte?= <olivier.crete@collabora.com>,\n\t\"libcamera-devel@lists.libcamera.org\"\n\t<libcamera-devel@lists.libcamera.org>","CC":"Jared Hu <jared.hu@nxp.com>, Julien Vuillaumier\n\t<julien.vuillaumier@nxp.com>","Subject":"RE: [EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Topic":"[EXT] Re: [PATCH] gstreamer: Fix critical warning\n\t\"gst_value_set_int_range_step: assertion 'start < end' failed\"","Thread-Index":"AQHayDCCKxwMoe+3L0OvvI2+4pLyGrHmx0OAgCCHeeCAAAQpgIAABk5Q","Date":"Thu, 25 Jul 2024 09:27:15 +0000","Message-ID":"<PAXPR04MB828575FC8AA233809180442197AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>","References":"<20240627012204.1949820-1-qi.hou@nxp.com>\n\t<cb278be3ae53d69c215ea379495e4fea545edf1c.camel@collabora.com>\n\t<PAXPR04MB8285EFC99CA78D129BF1365D97AB2@PAXPR04MB8285.eurprd04.prod.outlook.com>\n\t<172189826110.392292.13558008006974084887@ping.linuxembedded.co.uk>","In-Reply-To":"<172189826110.392292.13558008006974084887@ping.linuxembedded.co.uk>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"jKmt0x87\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PAXPR04MB8285:EE_|GV1PR04MB10606:EE_","x-ms-office365-filtering-correlation-id":"e6113d34-082d-4f84-4087-08dcac8bf8f3","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n\tARA:13230040|1800799024|376014|366016|38070700018; ","x-microsoft-antispam-message-info":"=?utf-8?q?vCmFJPTFF6KTvQSVUHI/GbmXJeQ+?=\n\t=?utf-8?q?RFPXevbK/BiEqSPQC44p6TqF366VEe+/DczAEuKxsmQzFzJrhFMot30h?=\n\t=?utf-8?q?AIQNJ6hN1U5es2IJzoPP8eeZskeYn8ImWd72HdcBKghGCgiC0G2Rr2uK?=\n\t=?utf-8?q?pLuQUBov3aVy/hXZ9/hEt6MmyciigpCj5k57AWYQ2OmWL/qGei4x/16i?=\n\t=?utf-8?q?p9NCP1x1dKLcS3NSb1p3C+FFz6KNvXwhSFWA1hFJsdsIGtaHz4P9Ybg9?=\n\t=?utf-8?q?OX18Dl5y8kFd4Lal5CVEuXBirJ6kgHqh5v+2Zd0Px/y0bYpP37pa3b3b?=\n\t=?utf-8?q?jwIRFIYi6dy+5LHX3HzVZ/qMlWxuS66l34VNiUyYQLwKL3Sc6TYfKJg7?=\n\t=?utf-8?q?VE7cxBu23pQ8RJS4yt3hjTmGcunpHxawsmjAwTiEiEIwdQeLIfDHMKjl?=\n\t=?utf-8?q?q3b99jbwDn6lD5PE1KPMoryrDkiVow4c6qkBCvBN/SPRI+9YduW6pk3F?=\n\t=?utf-8?q?Ue9k1G/u3Ft8dImvSKwBAxHML9cfoYbnM26u/OLM19HcZMbzBaPdnhic?=\n\t=?utf-8?q?u8zSnLLzvvHM2TLtk0oR69kIzJVY3Xt0njc1kByoABm4EOrhfzezyKHr?=\n\t=?utf-8?q?U9VGbsokz+p9SzSy7M2MEt4IDZVZn47pQJWLkaF7zrXhGVhum0OGDKzV?=\n\t=?utf-8?q?o5xGY7R498+Vfr0ZcNGcUwWqiO0bEPxO5C+Gmc5LeqDMVxEkAmof0Ke2?=\n\t=?utf-8?q?Qx4Rgs+t8bzBhjhDbj65oXMnZIsrJGECUkVoYC3LbBdyEyIn7eLbTvML?=\n\t=?utf-8?q?cZAo7G7L4maTOz8MLI9XKPDNb0TGZHwMImeWSY3AFb8sUAStezeox8t0?=\n\t=?utf-8?q?iJiLY+QA7kynpNqDD1vfLy8QK3A3RzngG7w4YQNYOrcFbigm2R9Wh8SC?=\n\t=?utf-8?q?YIfJQRUA1SJjteram67JfS7laiRK05c1+0E5iqsHSqpJtHOBdenOWxJ4?=\n\t=?utf-8?q?ppptJCkyENKy835I/mrGAI0sKhFh0xiQmlkLR60gc9aW+a04l/iRip4d?=\n\t=?utf-8?q?Yq16JLt3B3WCXnitIsoObC1Er6+rYyCseiLsAXqzQpvhyT/bbLZqMlVX?=\n\t=?utf-8?q?zZH8IS9E1SZydGTAsjVWmYwPAmmlJE82KPUetnPxU1pg4FqmmtOQn0Mk?=\n\t=?utf-8?q?2rUPMjvMYiA7M0y3zKiorveoZ3cab4wZ2+j0hIL3iyep6QoCnrP877RK?=\n\t=?utf-8?q?QB0iNXdXQVmhO3rd3ug2S2V3A+SZzGfo01qJrbC7FOJvewqIS3oIwBwy?=\n\t=?utf-8?q?jHG+MmwCNLHhMbT9ihVfFI6e3smZlPDo6FzDRj7t8HMkr0+Ifjvh1/TD?=\n\t=?utf-8?q?G/Xqj2suOtY8XMQYz7RVRV9DLvhWBxp+KuN12iCAQw/QKvmpKzBoa1l9?=\n\t=?utf-8?q?OUPbcmu3GaizX3aeXi2FiUJU8P9MeVyDXb/t7OzZ3DRhk+FLfhkkglpO?=\n\t=?utf-8?q?2xaPQUhDoPgPHIJbBF6u6JLPxXTybpOQfMJO2JzG1kVRfW6Da93OYyrp?=\n\t=?utf-8?q?pA=3D=3D?=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:PAXPR04MB8285.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT;\n\tSFP:1101; ","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?CvkOb3l95ZAbWu+2Cou26jbjH?=\n\t=?utf-8?q?hRrFKSkt5d90ZNaup/m6lsjaY+nITJppN+EVS+SataxzQjdhcEufnGvk?=\n\t=?utf-8?q?CGNOA7yybO0mHd4s+/MrRi8uqsftIr0lN2fwZHxv/21cG3POtlCp6HB6?=\n\t=?utf-8?q?3drNHVZZ4ZVGffrNxj9LCS3jnZ1E5eZuOWiuOXiIoMJa8qPT+up7CI4T?=\n\t=?utf-8?q?g8FDBfkIx+XozzuI2YGLlMcs2tvKwVCNKqBy/5TavXVXskjtSnHsKv7G?=\n\t=?utf-8?q?hefXa2m5o17+3aT+kuFPy8yjLn3l4+3K0qkGFIChJ97aS6w4HI2gjbdb?=\n\t=?utf-8?q?y2cvqYleU6onSjVWsZn5dXQVmOfJCAGBrYZoUju30KdBNGFUBhXPfuYg?=\n\t=?utf-8?q?1PMxLgWrJylvlehXycUu4siUsZos7v2h03O5pJtOxXAWbC5JdUf2/Cu6?=\n\t=?utf-8?q?MH+K+yg0GaZTmJ5vKHcoGNji2RR1rv5cezfY/F5qbRnRVr+aQ7MDIN9h?=\n\t=?utf-8?q?II9s3nohXdBSZPjGri/oJ2aZMC4pu5f+p0+8qD5K9yuTbVLThuY7LfPK?=\n\t=?utf-8?q?I/JpRzaiXxaN8qlWo+DrPOTqnJpGPZ2sPkUokLBUMxe0JbakHp+h0Fdy?=\n\t=?utf-8?q?OotqXPGq0P9RMN7bhtXOru7ZRVDdKQ5RBenl3BIDKJKoFBEm/qWJSIzr?=\n\t=?utf-8?q?TeelLZ+YmMUU8wQnZ1idkn5vwgIV9X2rfhB1kVvBWtM7CykLsjDedUQb?=\n\t=?utf-8?q?DvfNDlE+GALJ4jhEiSJPjWj/bMPFaJ9cyvxiEcz6xXNsNkwDB9vYLPAG?=\n\t=?utf-8?q?iPcHIob+cmntt5z2it4jCcyYsvp2QS8CGxLAGFm4oA1y6sKi3+YY6aeU?=\n\t=?utf-8?q?RbYkYBAs/XObO3MK4gFpB9f/5qlRLcjTvR92rquigu78mi4Fbafja1iW?=\n\t=?utf-8?q?8mEeN8Oi6IxoCzx4vQpKHAopdm9FcPo2+bvg7fJtGfu3Sz26XLIUJk9r?=\n\t=?utf-8?q?ItGhk/BMAcs3V5jNRNTIb1hylzhvQtEXZ27SGTlrdC5+82r/Z44BWRpk?=\n\t=?utf-8?q?9nycnXeQdTLP195t4oTh5s7vihEKX5r5uXWYKNhC5eTL7/ijFo2/cZRH?=\n\t=?utf-8?q?ThL86NElm7pHx8gAiZbGpPRHPCEGIRF/J5hPygDkjmPedNjC4exIlLdF?=\n\t=?utf-8?q?FFFvBca5ikkD8T2SD3cw7pxClg2f4wv1e+3xnw+dA5kLXTbGL0KMf4ee?=\n\t=?utf-8?q?Tvn7NyBW4WiUELmsXPZdPulNy2eXncFQiGjxSMA6gA+stEPrTTSwz9hu?=\n\t=?utf-8?q?0g3DZ2cqKLflqC3IoUFDH8Emv5fV6Z/LwXkvNwMWkW6uX6nRmeTW13j4?=\n\t=?utf-8?q?fJyda1u5Y4ulisAlV06cp+hN+UA6t0uAaXJLIeeKtiiELO6prupjqiQr?=\n\t=?utf-8?q?1YX505swSLoIjwlArtfmFIt63JsBwOeVvkcPRsMgVhr6vyxWnaGDxwy6?=\n\t=?utf-8?q?DYM52o42YD58Z9cONWielUsw4wk/0P6rmlvlsLy3gTbUKcuTbGVMXjcl?=\n\t=?utf-8?q?TWBXM5dgAjMnKBJky2KQQL2/OwZyMOkVWNrgoVHcBQTAJiA0cXBZe0Ye?=\n\t=?utf-8?q?EhzJHbC0iJK3/SVNExLI5hIZ1oZol7cw0XqFmk9AmDjCJKl2n/EX+wox?=\n\t=?utf-8?q?lYthtbLTj12jAhz5VM9EVFpp4wF5xHrVeRWYKCCfLk=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8285.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"e6113d34-082d-4f84-4087-08dcac8bf8f3","X-MS-Exchange-CrossTenant-originalarrivaltime":"25 Jul 2024 09:27:15.6289\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"yHOyyG5KdGRwJC8w2WeK6WjcaHofT/6nuXu9NoMVDlse96Jqi5T6VjiJO+O1VlFw","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"GV1PR04MB10606","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>"}}]