Patch Detail
Show a patch.
GET /api/1.1/patches/25559/?format=api
{ "id": 25559, "url": "https://patchwork.libcamera.org/api/1.1/patches/25559/?format=api", "web_url": "https://patchwork.libcamera.org/patch/25559/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20251215145305.4187195-2-julien.vuillaumier@nxp.com>", "date": "2025-12-15T14:53:05", "name": "[v1,1/1] gstreamer: Add raw support to libcamerasrc stream-role property", "commit_ref": "34c5cf2480bb096689424c404ec0c1949f38b279", "pull_url": null, "state": "accepted", "archived": false, "hash": "24ae72959a5cd72631c0b5e979209c6e6524d707", "submitter": { "id": 190, "url": "https://patchwork.libcamera.org/api/1.1/people/190/?format=api", "name": "Julien Vuillaumier", "email": "julien.vuillaumier@nxp.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/25559/mbox/", "series": [ { "id": 5664, "url": "https://patchwork.libcamera.org/api/1.1/series/5664/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5664", "date": "2025-12-15T14:53:04", "name": "gstreamer: Add raw support to libcamerasrc stream-role property", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5664/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/25559/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/25559/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 7E293C326C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 15 Dec 2025 14:53:56 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0EA5B61985;\n\tMon, 15 Dec 2025 15:53:56 +0100 (CET)", "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 14E6261973\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Dec 2025 15:53:53 +0100 (CET)", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)\n\tby DB8PR04MB7098.eurprd04.prod.outlook.com (2603:10a6:10:fd::19) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13;\n\tMon, 15 Dec 2025 14:53:51 +0000", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::b387:72c6:e33c:8656]) by\n\tAM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::b387:72c6:e33c:8656%7]) with mapi id 15.20.9412.011;\n\tMon, 15 Dec 2025 14:53:51 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"lweAXc/L\";\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=tqnJpehlhtCf1H7Ch8MoR8Cn+75bb0QfFsuybPYAVDmCgNLz5QYWlZ5YBrRbetRt6Yf9wt4nTgrRfIvhVSIILoRAsF4Hwemx9xugP9w0v/R7TP/mAvlDp4MaLec/KvHK7zXSHCGDf360mPpZRUWHgF6is4YFy0Xdzoh1R2qNNilSJeAvDCk1Q8aGzojNsVuGFAs7joFEdpvMEMNbzKiQYhkaQFrcv8dLL+j9SCeK/BmxKndWMpeLrjMz0hf3DfIhbX6ZiZ4A03o558fHmePVmI6tCSQ4X6MMIJBgSKthBYRFpzDqqTKJ6gGzIzP7iUPsRgHdVt8GLHwTJcV7DXLhgw==", "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=I3ScKmgZHM4d8F+gcboueSossColnSX4zI3fzZiK5Go=;\n\tb=uHiCfrMYY03hPOarx6WWdNp+9bjVWmMzujOWmiep0ELdovzxqxmdb/lZ8kqvmydK0djSC2nZqWSTj7KwnCbXgDo/PyFO1PSOARrwIyNxKqxqR95wAiuQ46v6HO1TeKRotKH04Y14uhFVm5zeSUnvmjb4OzKZ35PErdVodjrnyDCoqmljF8P7umsnlDEh3Pmu93r/jjCZUq20A4Aj5zPDqDySUpmCU6AWhm7fMfByWUpjy/FdWrOVBHLo3EcH8ApJQ0SQWxx2fZLjuRkK/1xw2vyCH4RTGFtVG4n48YY/EUaQYYl2mCFTp2dLjDIPc1pQpoPN5fHvrXRuXHDsLQ99Aw==", "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=I3ScKmgZHM4d8F+gcboueSossColnSX4zI3fzZiK5Go=;\n\tb=lweAXc/LJ0gXBoP5W1fHoQ1kWyNpNHAy5O0lRnQgJpbs/FeV/DdO9fkJdIIvCNd1c3kD1H8eUWNBC4NBFvQpSm+SWBHt+rWnvE8p9lc/N23qtv/mkVEMo4LaVM3TpjkSDoCFPQSXx0k+L50oW0RBhflWEjMIl6IvSlQuWS5iIJTcamnOSfJnVAZBlsSB0Kl5tDiUv6w81pR0RMXhTG/VesnDVmW3fRzzt4hLSAufPYvvlEQibErdi8XN7KxquoMr2fDUfDplsAj85aNpj+sh7gG4PyIiGWQsMjkOiXv+P4TiZDpkISsSBm87OnFIHFoeBPIcdCelzqjDnuVrq5X5Fw==", "From": "Julien Vuillaumier <julien.vuillaumier@nxp.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Julien Vuillaumier <julien.vuillaumier@nxp.com>", "Subject": "[PATCH v1 1/1] gstreamer: Add raw support to libcamerasrc\n\tstream-role property", "Date": "Mon, 15 Dec 2025 15:53:05 +0100", "Message-Id": "<20251215145305.4187195-2-julien.vuillaumier@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20251215145305.4187195-1-julien.vuillaumier@nxp.com>", "References": "<20251215145305.4187195-1-julien.vuillaumier@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "AM0PR02CA0180.eurprd02.prod.outlook.com\n\t(2603:10a6:20b:28e::17) To AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM9PR04MB8147:EE_|DB8PR04MB7098:EE_", "X-MS-Office365-Filtering-Correlation-Id": "1e0ba104-65a3-4bc7-e777-08de3be9c2bd", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|19092799006|366016|1800799024|52116014|376014|38350700014;", "X-Microsoft-Antispam-Message-Info": "/qVE34i5z8LJZdlBelfbn1aXNoXKB/kee5o/ckAioC9YyOLQOSVX6IRMJ+6vZiEAu5l1b6QMuPvBKNh2q/6FM289YmjUfPeo/A09pLBbrj8taw4Ox/8RzC9iV/XHiPOi0Kn3SStuVm/Nxr/oV2X9TWjg79/yZy+wGERjkM0Bw4vLmt/8sb+nTdfWCZLEmHF77baYz34E7JjBImXzkGXm7yw29JoipvGjPnHSXEJ70rQtWobLhOuJ/NYvapFliz8EHvKfc7wD4l9FlCu6DQFabqAWCRnDIYePG+r1E7+O5vdQjz9lmHpKLNquljHryHmBIgEsRYvafb+2lwVAN5kTSHkb5MOe1kWc+bxtGwI7f8B4k/NpvktgzPJ1X7o6DoCLKp5zRkplESWMX2qMkgVnVYUiPcdGoT66HTaW5G/HVA2FzFLErEHAXWVq5LvbbGp88kPVslVdIIVKoZ4N0XBHE88pEG/5iftcH6h1LtD59z71/59VvYQvoN+6qfHGQh/Y/yFzlEYf2zhREIgEnbNbZqdJR+IK5rHob3Ecoew/8ylQksJrk0RNWxa/L6KI5tgfZmZhIY3BfraEFHJR2Gm2Ms7MVyzHhieFYd3rMiwXhZW7SNugK6cAmf2lSGrNsaPNkVW7iRYtYxNNuqKr8ccCHJBcTKrX9LnqyXPqi8WIWfxMET8qiOfZP2iRfA6RA0j9aoXHyxM56bTBVqS0EdW//AEVrNCSut1lv/jlLsAPe721+zyB320WCXx58cj5qfZDaCWiTKani0KqJrAFdfP2J126AvQEMFOVg+JFTTc5fGd50klBYxurf2FyJ4bJaYQa8xJHP/1mho9S8dH8HzinAlifVBYQ8o1yf2/v88xOV5uZHehkJjnyky8IRbLw9Rbx2xGyYNYdzEkMuGzjnDZS9R6UHR+InS8GBOSG2/S0yiHt9j9tx1NYgAFqqkVShmgL6+g0rDTRTiYvZ9ayRhrIkso4i8uFUKk/Rdcc15aR/eMGEkyWD+bMPntc+E3Hogzq2j5yFXIfZzMArFTH1lFKioqR47y7XgJilxDon5epP9SC9JC9LKrGYbCbkKkJ17QAWgjI5qm7SnzdKRjqbWCw067yYFXy//lXg28AV69uuN/BKEvD/h0l9emXiIJXJ6zJCbg6hnqlSfphhns6myxFl8hao+90Mqx2TmvQoletEX6gy59tIDzilPk2Ibt6q4i5QwJcCKn8t64A8Cd7Hk1MmpFs4EyePjNLOmrXiVD5EFs9vjl8Gp2T2VltVJSIC6+pUJVzxr5AuexX4AycSrwIBAdjlxxKq/TSIA1TCYuVsOuA/nMIpylksKYuY6fAjfvSjdecSGm+m4mpyMy25BjCYblRSmG32tPtM9fNT9kIs7mgeoif02oWuBl8u2UR4mLTNHuM/M8TfRz8U5izIKvOssHRZYxb9UrNpO484+GXaCiX0xzpFxCMXC8igJ17iiSkV+XJNLXsHteskphzE720tDYQHenLsMQ4pcBTNR9PU6j2hlYw2ZJu2xPXuYNP4CP0", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:AM9PR04MB8147.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(19092799006)(366016)(1800799024)(52116014)(376014)(38350700014);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "pQofZV9AUEORFxgCNAlxePdv6Ze7KN9grVtDPJD8nzyMM91VBJnGvu7tJBcEcIAH0EBfI7oZm4n4COEOu9hXXoXKb8Kyaz6KdkqYXe4HLQ2lLArwdujLJ+StuQzwVu71mFV1BuVbiL4WXH6w9xAN3UUh9kpKrZ0dr5br7fdjfbA0nMnnYlbluTNM83c5i0vOAiMSVRk0+H28KRWeLpP0NIXbDKLTg/QvZ6xdcUd9dYHsuAcQZiY2xI6ccnPXAVpQIrZVkMVAMNw6Am7yE+4xM6mDsUubNVmop/g3a6r09fjnB8q7/331n9aRgKJzIaK02qfPlHX3EtMXtwTUW0euuP5fvTtCclked/nvKrp6pHMzi1adgBFEtOE3tRR0mVRi6MbR+5kwsBpQzwgh38YSFniXciKhU9qGv3Kinom7a9mDnQipvvOfd2MekyjBooHbHsn9/hV0B12ylUKPeJSVmfX0iNTQV5n3hXNTCZqMtSNgveyNhSTcjWyBILyNzxSf+Foxas7O4g/OohufG3VvRTyKs7zZUjLDsLuYBccFaLMMyEg+pzaHJ1frMyjwAduH2GnpgclC4sUWbIdEV2jLrjjcAU86vWcmlHS4+9TabHs+GemYK9V+YzEuiNTJ8Nk7Gk+VSbva6Jmb4TCWdAdtSJ5KvvcZviXf4A4rx7wVdoDRivA3jIQewkmDzb+GkLhWkBT63iNLqzAq4DErkQlu5o4s6rbiVFUxjdPhz+thL2pPOYt4L/eFVaNvCrV+URUtbZtDLs2bxn973MoRpsr2LaWV1siXwq4ugzO1bkoITFLdLv2o5zKwqA5XEEYO2VI4N1m806N5UeXE4JGpHRHmNeZxg5LnAc/wmqJRu4hP056vAUHCybLmWNmxHPI0l+zJ1V1FENzujVTmE6SElgD/qZw8sueEsnJ48xX/hrlq0Qpc4oVdoEJFOUn4WmfYofyk8m7WtuNXMu9ef4I1DHvsJPHUG7HnXF7DpwvOkzQHkjVdVU3hCpUxdH5p474cBIc1x897QsB35rhOpUNdGnDma/0YCcUz9HdonDjrUsFQ6Xsk2DQD+v6/x6RK1hV8VPCV8QPyq6UFU5e9ZQ3ucWNcPBhi/GC80nen0bFG7MNjjcCU7msYTOMMS174CLa07MrV4dx6BCm+9q/3xY4+ply7wrtjYWroxIXtSA+wUMaE0m6m7buJoOTKNFvR37VjDeoWWFb4Rz39ziaDLAuLP/47pksse0XGhIXB2R+zjlsSMGfOc5NcAU7/+6/c+nARJ0rD63lN+sY7/jLv3qYktU2VGclaxzAppWsRPFw+11BsezrWMI8wB4D80Z/8PfTg+hdMXIEt3EvGWEL1IGRijm8CMYr1ACCokLfqyLNWWdlYf3aREVn52LG0jYuao5PF2hrJlg4Y4NTi7W/lq/8hLTR+YdHheZrY2C1XLrEuJk5rFWluatnTL5DJ6Wf0jUA1c7Tdd+EaEnsZ1PguJHu7xQisP22ZXmq1SDgeuWm7i9WmfcA2fcdFmwVd+kgShIq+xd+uEj9FGuu9GWe6WDxbzkbvCCNSU2c40Ee8XtPCBdj3cJATlt+iIzjYJxaBH4Y6yscJ7C4uV9GPu5xx6tFmK4Zi1Q==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "1e0ba104-65a3-4bc7-e777-08de3be9c2bd", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8147.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "15 Dec 2025 14:53:51.5389\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": "NBz3A8i+WWSLROtBmmG7eEn/zdeywSW1ByUJH+lbeKW8xSaDlRMiEELCkQrzmULgJ5kHAXybHHTrbduTcqSIAmHqs0f1DY/8IFy8afSLYUw=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB8PR04MB7098", "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": "The current definition of the stream-role property of libcamerasrc\nelement does not allow for the Raw (0) value to be assigned.\nThat property is used to query the pipeline handlers through\ngenerateConfiguration(roles) to retrieve the formats exposed to\nthe user. Not being able to specify the raw stream-role, bayer\nformats are not reported so can not be used for caps negotiation.\n\nAdding value stream-role=raw enables usage of bayer GStreamer pipelines\nlike:\n\n`gst-launch-1.0 libcamerasrc camera-name=<name> src::stream-role=raw !\n video/x-bayer, format=bggr16le ! ...`\n\nSigned-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>\n---\n src/gstreamer/gstlibcamerapad.cpp | 4 ++++\n 1 file changed, 4 insertions(+)", "diff": "diff --git a/src/gstreamer/gstlibcamerapad.cpp b/src/gstreamer/gstlibcamerapad.cpp\nindex b37c4b340..c1f7f16e8 100644\n--- a/src/gstreamer/gstlibcamerapad.cpp\n+++ b/src/gstreamer/gstlibcamerapad.cpp\n@@ -95,6 +95,10 @@ gst_libcamera_stream_role_get_type()\n \tstatic GType type = 0;\n \tstatic const GEnumValue values[] = {\n \t\t{\n+\t\t\tstatic_cast<gint>(StreamRole::Raw),\n+\t\t\t\"libcamera::Raw\",\n+\t\t\t\"raw\",\n+\t\t}, {\n \t\t\tstatic_cast<gint>(StreamRole::StillCapture),\n \t\t\t\"libcamera::StillCapture\",\n \t\t\t\"still-capture\",\n", "prefixes": [ "v1", "1/1" ] }