Patch Detail
Show a patch.
GET /api/patches/27512/?format=api
{ "id": 27512, "url": "https://patchwork.libcamera.org/api/patches/27512/?format=api", "web_url": "https://patchwork.libcamera.org/patch/27512/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260728054311.482231-1-elliot.chen@oss.nxp.com>", "date": "2026-07-28T05:43:11", "name": "gstreamer: Reconfigure when peer caps gain extra fields", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "2d15020ea094280d45ba3718abebd694ccb381ef", "submitter": { "id": 443, "url": "https://patchwork.libcamera.org/api/people/443/?format=api", "name": "Elliot Chen (OSS)", "email": "elliot.chen@oss.nxp.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/27512/mbox/", "series": [ { "id": 6087, "url": "https://patchwork.libcamera.org/api/series/6087/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=6087", "date": "2026-07-28T05:43:11", "name": "gstreamer: Reconfigure when peer caps gain extra fields", "version": 1, "mbox": "https://patchwork.libcamera.org/series/6087/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/27512/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/27512/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 14524C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 28 Jul 2026 05:43:26 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2399467F90;\n\tTue, 28 Jul 2026 07:43:25 +0200 (CEST)", "from DUZPR83CU001.outbound.protection.outlook.com\n\t(mail-northeuropeazlp170120005.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c200::5])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2F51A67EE4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 28 Jul 2026 07:43:23 +0200 (CEST)", "from AM9PR04MB8244.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::24)\n\tby AM8PR04MB7746.eurprd04.prod.outlook.com (2603:10a6:20b:235::20)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.12;\n\tTue, 28 Jul 2026 05:43:21 +0000", "from AM9PR04MB8244.eurprd04.prod.outlook.com\n\t([fe80::a59f:4bc2:f026:4012]) by\n\tAM9PR04MB8244.eurprd04.prod.outlook.com\n\t([fe80::a59f:4bc2:f026:4012%4]) with mapi id 15.21.0270.009;\n\tTue, 28 Jul 2026 05:43:21 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=NXP1.onmicrosoft.com\n\theader.i=@NXP1.onmicrosoft.com header.b=\"cBYwCbPl\"; \n\tdkim-atps=neutral", "dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=oss.nxp.com;" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=eFd9GTvComC3pLxil3vvOrPkhYWl9AFyyuEoRtuZhk7+47tQZ20DRHT313k6SfxdCt11d1n+twW6W7ZdgFfInr/wEZElyQit5YS5XbwTbQNW/caXOvLsszSJhdEFkr9FzRoxDbKSAEP5lC6tUX0UxOt8LY9Wcu2ejlkQ73+TMjhto9Yn8H55D2cKKaYeeEa0LT1BEl2gGuU3rwoeZQpAKDy3utIb1L4Cm4z04akYZbZGrDUGlcW42dG+DvytOSlzIliAvajmUFclRrqgz251kCujHinHqy52kzj22LC2ZUlB0WNZIcxEGtp7Ccff1PgY21AKs+QzbGysUHfkwAnMsw==", "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=sfEBzuK/FwKlHPftaiGPLDKRLroajDgRNqWrp+dO64E=;\n\tb=OZHzbPCLopKNg/ZjGDBfhTMOBFYQ6DamMRXU6J5QWA0dV+bJ8hUu20xtNn/GpED8Kx4XUfEsBM6Itfps7tAhJixelikXHU7k8IVgawMgG0U2BRuOIWKKAoex48XA0jtoHkSBP5uW+WwVxcwn8Svx5ygCfVmCl7U5aCUAIR2o+VAOXXmlYH0m8AOtBGCTWYIS6JSF4pZ14wh6PxEClYYxSqlvYgc9k91Eo+n9S9vfzv1cC4WHP4itFHTOugVRysPPY3FuQTR0JEIOeTFjwkx9n1Yp4FNPEUtLDkdYEZFRekmQMYUa9N0uXoZnHjwGTjM8VrMiYTqzwVDBxFW39dFLJg==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=oss.nxp.com;\n\tdmarc=pass action=none header.from=oss.nxp.com; \n\tdkim=pass header.d=oss.nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n\ts=selector1-NXP1-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=sfEBzuK/FwKlHPftaiGPLDKRLroajDgRNqWrp+dO64E=;\n\tb=cBYwCbPlvGSS8t9YTIou2b2Ui9T9Qr0XKRAcysT1414/ptJRdYrY7l1ZVTbIP3Xp7FNbrwLfPS2e3UdRN3Xm01xAr8Gxb4e8MKQkzfStWTPF6Nq8M9c3Zd5RAFjn+zWFEBcTZ2HW9PI6ygUQhexK+MuksaYyPra9mMNC8wgzjnxiJ/GOVTIv3SY3eBk13aTVvlDVFjBL/7DOZ1OCaZzYJU92A51dAD72NtQM4ykmyC/Kcgm5FfBnOfFl4FT9HETvd89i/1jUYDKShlp5hw8XPOYiTNd/jP0+btt+vkXrNGoAlW/e78AM3LCCBJL3QNY4U5lqdCCgFggw80xuIzQLxg==", "From": "elliot.chen@oss.nxp.com", "To": "libcamera-devel@lists.libcamera.org,\n\telliot.chen@nxp.com", "Subject": "[PATCH] gstreamer: Reconfigure when peer caps gain extra fields", "Date": "Tue, 28 Jul 2026 14:43:11 +0900", "Message-Id": "<20260728054311.482231-1-elliot.chen@oss.nxp.com>", "X-Mailer": "git-send-email 2.34.1", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "MA5P287CA0123.INDP287.PROD.OUTLOOK.COM\n\t(2603:1096:a01:1d0::17) To AM9PR04MB8244.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::24)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM9PR04MB8244:EE_|AM8PR04MB7746:EE_", "X-MS-Office365-Filtering-Correlation-Id": "66fd914d-c1d0-4910-1b7e-08deec6b21de", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|376014|366016|19092799006|1800799024|23010399003|56012099006|11063799006|10067099003|6133799003|18002099003;", "X-Microsoft-Antispam-Message-Info": "48uxWXvu9f0o+fKOpshRlY9fr8HpY5GcoEYDdpknQcKBpiLfoQqCVC8Ex+sPHjTiA7JTeGqCXRslV9e1oR4Q2gW2Tg3lJEeqWxwL/Ig4HEP7+9LSdhLgk3vNWeQpK3CRou3udIh4OKuBRNf5P0+cEyZ0nccRRUF8BvEgavceob6gOPvr5yXt6yCGrrlg/B6uKEjt0j3BBVrbdXR76IFRESH1VVnk9AyaGj6JGaNGSUSAG9hrG8l17S3ZmjoH5wwfV8YcC+7PZGHX+uLPVOW4BuxSfbasr/geFSTsYCiIV3N0qlzARcCxjMCzZPpggQi7N72IzHtllBwGWTkQO4wEvMDf6TWSp6lCYNI/PqR50nPGV2jnOvlN6oLjFjfHxvmhQTkXohuiQ9ZhRyqWdTCtdqkvcOTZDdPYZlwB5dj/msIvZBocHPVfhJbUlRc4eeeb2WWBZmGwQlL8c5eqasAmTluhDo4OPQzKmO4S1LYDzBpk6L50q1VdP8fCXhCgQEqHe7QYiKF6v39cJNw+XBN/oq3HN+8mko5RIuAPhLMvmI1XpZN5MuhK0ir8wt/Diy2kZx6J5lFmMNn7oKLfQcyZ97m25MchbzIzUNuQUJqN9lxHFPdLWGhuDdaLFbkgpgAS1hNFatqgZfyFPzUyGdBEgf2BIdzTtzbaLnSPLLVKYjo=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:AM9PR04MB8244.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(376014)(366016)(19092799006)(1800799024)(23010399003)(56012099006)(11063799006)(10067099003)(6133799003)(18002099003);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "Vw9kp3L1nltOHLdIDhqpWSRrOWJqmXDkm/T4SCLGPinxHa724C6+6Eh6l6l9vnLWE02wyd5XyhwmP779kWr09Pj2Jnln9swM8iM5E+GSvuT125QuZmIgroe018MYi/vTsyM+YmqZSvcPlC4/9vhOMUFhYO6sgayDQnPDhOXe9fzonyg66JvM9fuvufjEL3hRPa1fpg3v5IT8zDtzEmV4xma9ux3PGLtUcKG2Uy+ZhEeNs/Y0cjRUkXrY6/p8JkQLpvx+uZjnajz6KGZVjdXvLT0CPCT3fG540daOQruJYPYsZuZ0+wEdKqsteqamP3ctiT5w/O5IjAZ9WzrIIugKVECPLkBlJQwrZHXZkq7HqYB0Z8aPcvRDBkRu+WvxDsiLJPpynkIaUzpHAf/k5KVISYR/IlLHvP5c2HyXdPHtFm2xTZX41Xj3zNuczYRjVkavobV0Zbr4Dp3NHtwvNjWZl237l8jDSENv44H6vih0WwpOWWZYauGAb0D1nKf6HISzIiM3xM+lzxvRHmP2YGkX+OX+mnisFudFUsIuQUp8JtehkaY+co7ngMluYoIKseFRiSdS3dOHTHEC/aAxk+27Fr+HcdliOvfEeCE92P6AOEE9lwB2b89m7LMf06ULq8Z8FSHf9Phb8S6/T79pD1bPnB4bevrRlO4J0gEJ6XADK49X25S7HpOdWZa5JaiNtMC5+0DbB9sWtG81z64zeOR5Iyxn6SF39J4NXqDGtkATCcjmqXm+kg1wrjf/s/hXjOhgKF2AiwvTehei2fg2fFD2d+w8PUpUXxDBK4iRt4IozvBhvvG0ORXfDVcaPiKCG1B0VFm5cxjwJioes43vouCRv0k1hC2gG9RreBng9kITQ/YLlhIhycmK77L6X2VcWt4eZAUb5K/yADcImX1oWIzGvgDN2+AB60XiYvmKG4OdsmuR7z7SsMlwSs3mMUzO9hz5Hk8+flEccfVmUm+AoGa1i62mG003lMpxaGo2oV3rbESi+HXCT2yTCT+MJgfnc6/rurohmEKvqUS2bxjsknKmar2rDwACFaTRUZv6WvX8TdhwnLsusrwkTa7yLHtO+XGA5WaCMtmdN04KF06vvI9EN3Hu+/XxTLpu69zcwsLCIXovn+cPNpuxSAWYu+KqKGEXMAmIpWYx7njW/sxJC+W3VKB3n0Ce80DMwprzUtBNpzzlxW8KHrbf8BsmjaWcrevVP0+YHAtZ1Ug++2MUtAqhz+k0pKE/CzwHXHGUL8n4bE0Ee26GUzb04F72UEGT9r7tY9RX5m+loZ9qOaGcutsDPFyD3E+cmHeAzKcMLWscudY5X25ibj0fiRowitoYnCA3O10fYMLe4RndNepb/IX3Ks5tZN1zEVByDMDLp71OPnTaU2B90CrboRGbDKc+52Q40AnRM/O+YyvKiUTN6IxPioL6KgmhfB1UX++mbXOOlBsTNqcjmfNDTK3kv0A58pwmLVB1LjtbxVekob3IgPiQKD8E29XiryuASXbes3vPkBHnwpm8PI43Xwf8WWpb3/0QeJD6VtQsDA1N3cYUNdnE4amkj37KBSwAyrGvrOTZREWVaNfiPQZ7uaaa51VIIr2I0Q58OagG7VJcgduQaZsAB/cUJw2aWzXY4XewIOvO9yJbqW4Q7Irs2j9nr4HOeyv+w0MELYBm8pAeuG5sRIR02Q1IbuHLEFqK1LZEuldoHqAaZSW9ZZF8W6K6JKcXT73rN1U/vr8D86gILZLsvZNhkTNaSGym+G7HlLffLc1tAOHZNWSiENi8nEAQP+bSrrU/", "X-OriginatorOrg": "oss.nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "66fd914d-c1d0-4910-1b7e-08deec6b21de", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8244.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "28 Jul 2026 05:43:21.0414\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": "I5xxfrFVWKyCE9OkFgHthZPGKXBnvJghZdP/i9HimRqG9GNLG4fOOjQ+o2cMRGDxQ0hMnmmYKmfY1CARjOT3QXQ5y9cMB/E2RVrNqm3SQVPoatNhQGrqG/VyVe2h/xwk", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM8PR04MB7746", "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": "From: Elliot Chen <elliot.chen@nxp.com>\n\nAfter initial negotiation, a downstream element may append extra\nfields to the caps (e.g. colorimetry). The existing check only\nhandles empty peer caps. Add a structure comparison to detect such\nchanges and trigger reconfiguration with caps renegotiation.\n\nSigned-off-by: Elliot Chen <elliot.chen@nxp.com>\n---\n src/gstreamer/gstlibcamerasrc.cpp | 12 ++++++++++++\n 1 file changed, 12 insertions(+)", "diff": "diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp\nindex 9061f9163..88717b048 100644\n--- a/src/gstreamer/gstlibcamerasrc.cpp\n+++ b/src/gstreamer/gstlibcamerasrc.cpp\n@@ -744,6 +744,18 @@ gst_libcamera_src_task_run(gpointer user_data)\n \t\t\t\treconfigure = true;\n \t\t\t\tbreak;\n \t\t\t}\n+\n+\t\t\t/*\n+\t\t\t * Caps may gain extra fields after the initial negotiation (e.g.\n+\t\t\t * colorimetry added by a downstream element). Detect such changes\n+\t\t\t * and trigger reconfiguration.\n+\t\t\t */\n+\t\t\tconst GstStructure *s = caps ? gst_caps_get_structure(caps, 0) : nullptr;\n+\t\t\tconst GstStructure *peer_s = peercaps ? gst_caps_get_structure(peercaps, 0) : nullptr;\n+\t\t\tif (!s || !peer_s || !gst_structure_is_equal(s, peer_s)) {\n+\t\t\t\treconfigure = true;\n+\t\t\t\tbreak;\n+\t\t\t}\n \t\t}\n \t}\n \n", "prefixes": [] }