Cover Letter Detail
Show a cover letter.
GET /api/covers/19817/?format=api
{ "id": 19817, "url": "https://patchwork.libcamera.org/api/covers/19817/?format=api", "web_url": "https://patchwork.libcamera.org/cover/19817/", "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": "<20240327172731.434048-1-julien.vuillaumier@nxp.com>", "date": "2024-03-27T17:27:29", "name": "[v3,0/2] Add environment variable to order pipelines match", "submitter": { "id": 190, "url": "https://patchwork.libcamera.org/api/people/190/?format=api", "name": "Julien Vuillaumier", "email": "julien.vuillaumier@nxp.com" }, "mbox": "https://patchwork.libcamera.org/cover/19817/mbox/", "series": [ { "id": 4245, "url": "https://patchwork.libcamera.org/api/series/4245/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4245", "date": "2024-03-27T17:27:29", "name": "Add environment variable to order pipelines match", "version": 3, "mbox": "https://patchwork.libcamera.org/series/4245/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/19817/comments/", "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 A04C5BD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Mar 2024 17:27:55 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 506AA63331;\n\tWed, 27 Mar 2024 18:27:55 +0100 (CET)", "from EUR01-DB5-obe.outbound.protection.outlook.com\n\t(mail-db5eur01on0610.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f400:fe02::610])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8303461C35\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Mar 2024 18:27:54 +0100 (CET)", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)\n\tby AM9PR04MB8796.eurprd04.prod.outlook.com (2603:10a6:20b:40b::23)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.25;\n\tWed, 27 Mar 2024 17:27:53 +0000", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::2208:ff47:a8fe:dea6]) by\n\tAM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::2208:ff47:a8fe:dea6%5]) with mapi id 15.20.7409.031;\n\tWed, 27 Mar 2024 17:27:53 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"BxN+g8Ew\";\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=mofuAWTPBbXQ65w+bvse6Q+uLayZUjpXRodXv9x1G8sLLyWKgyaRtabMqOZsCY2mzYyhcAMorpUaiJFCaCfZa2WaTX4zoRP74A9Xysl3GgQh0256IoaHtxjAyfmNyzCtjYIS3jM+zzNoRRs4I05Doi0ffDLPlNNCJoSQtbDaWWk66GzVmMzZzvYs4Yb6hhz6Qr9UYgKguAdm6TW3BFlKXo2+NWWSXo5MwOoO8ztl7NkTIJ37JLFMq1PSQtLFJo1WT0XVAEQ3lIttY/UtngF77sFbXl3wpFsNBHFOob8xDyFf+BGbUABYbHrmrwLfVpyHix90Mpi522axNchjaXWqhA==", "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=ausHyENyFmSp6Jn2RyD+RkqbRUxltVl9ICUhURik/UI=;\n\tb=LWkKMqeKjZ+IFWp7ERomR7RVBYWVcJ1k59nypnE8eKiztvqfAUyu7cQymoD3l4q2lnhIMM4djIuxIQZWAarTRwjrlwdDNcxC62lbcPNy5OEl1n3g5kMnvoHQ64onTTQfPKFFj/2aAhHsbn4gMa2B6wtV+tgqj/PKr6v8RrA9A+AWJYlW4BhGE+BgQi0wQKYU5BQWDh7X1brCYh+yw6294I+y7BeHyzsDNUCrjw77McANZ1ny45y09auCBtfm442xfTJxVd6MO6k8j0jHt2o1TNjCVVjMluKrdPsxLtwlHbSpmwPxT5bDtSU6yWVLK+Y4oylXLNuvemclUipqv6jcFw==", "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=ausHyENyFmSp6Jn2RyD+RkqbRUxltVl9ICUhURik/UI=;\n\tb=BxN+g8Ew2DxvjUUB0eE4FkdlSEy1J53mpIyynUmvIt8mjaM2Wg+I+vL+TaH/2rwfQWTDhYKmHvBMltP5ZUdn/cvyZS47GxoroBoPVbUsPEBFi65ABgsSYNqey5QyalEuhMt0J1YmI76UZKk1ncjVIIS3/dfPJgtV4St+WO1cFek=", "From": "Julien Vuillaumier <julien.vuillaumier@nxp.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "julien.vuillaumier@nxp.com", "Subject": "[PATCH v3 0/2] Add environment variable to order pipelines match", "Date": "Wed, 27 Mar 2024 18:27:29 +0100", "Message-Id": "<20240327172731.434048-1-julien.vuillaumier@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "AM0PR02CA0167.eurprd02.prod.outlook.com\n\t(2603:10a6:20b:28d::34) 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_|AM9PR04MB8796:EE_", "X-MS-Office365-Filtering-Correlation-Id": "68359147-9e55-4cd7-592f-08dc4e833bd6", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "lYMHbbtRK0uDn397gEMzQrPL+ajRK4x8sGRswjh4h0H0PCp+dfq+MA26OpZe87skq4dhhk5fKKWO8fHoiUEH44fK/4Li/kO7lQCm7I3R4PoLCjCnXz+JfczJ59kcKYGbAQVv++xgz6eb0SAJPDxe9o6Ho306sgklNX5dLrs+3LWCjKGJpnWXTFRO7nCImpUiTUfb+4Q1EFvrqdCPVSHmRo6L/8Kn293F/fYBFH2i+7fv/NNJzL0FNsxdpSIv9TpzBGaj3mDgtvgh9puArYiMmBBJn4/axFfAbE2nqP2nh88gTO9Qq06UGJOk4qLcYZTgnoU+I99wcXNfpHt44D9PdT6gJa+69n3DZupXumLhn5KGgVR782RtzZvwJQo8e100DaTc+w+KFpDrxCaJLS6yBJcwZukOKzuIWZc2IWA8eLIMbLrC/EOQTkNI2Q9FG+TZEWyHepwnrC9GnoCL8mwfQmsITHoIZ30UIGfVqixixpUKlb3UXx3hq/8Sz1pYr9YCQr0dUz9LRTcY+VpYpYQqCSu2nqqjvjP/EmS/iilrhQx6RROAdn3B25FcDbcWAqSWaS1S2i0DcWPcVLR4IC7iN+6pOX4K7JwEgazJZcGEX4xo2HkRuyCt499AMkD4xnZJYFsPVmvFENc/713RKGaYelRcYxKAVHfFmpt5BlIAp2I=", "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:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "UGIqFNx14PEhOwVBE8s9DRfqrrNOETcwxBzHiUivs75udkCZ5FrA1ULtrn/+1yT2uXHZdr7/4+5nOhUaYYy/9QxISmM+4Uxc+yctjV9meA1wE6/7xVfQ8AYSIdmjcccw/TEkfjZYDWWFyKza26fPNCJsJjTc/ZNRwY5f8cXD+k1oX3bpMMFbSyGGU65SzpqC0OsAmqvxgr2sn3ktgSfbFGT4tTLBFdHOGlL4BKxctoi/GhwkrqwdjBfGCMd7lPtblPadxYSWWySl+5CIl1rRjsEqG/5wej9MGnCD8UTiD+Wm1EyIFZ8kiu4pbMNZCxzdBCOvtjtuCWCEgnJI4AEQKPJCtZVDx7A3+i1fsPl8H9X8K7VoxT1x3XI3Ew39askh2KbtWPn9PTqevQL+RH21eGv7Tyx9jIJgfNeOlKEzdJKd6fAmxDZBhX/2m6LnmFdq3tQp28tvbRoclx9ePCEJeEWwUHSNI4ozh7QF6TPfBs4KloaZiUW926pQTrNf+T20Fjq3EOGce+NpUTDAuTHslt50Gulvp0tFo4G3NU9a71Ik7Bsa4MquDXG8hprRhmRcRZcFB2s+RYLM1thuVimQTC3CeO35K53JeW+8UyQ5vE7/UssqxwYpJ7mSgghgiidH90BvzyhhPhRd8+gNoZIWv4WCCcZVv8OTAujx9i/SFehgKxQflS7RSa77JghNGrXQnCI1sXFycvivw3Rvj48C7L1dlky4uLqO+sLbxrNudqo3O71tiKBUes/UNIH0QCWT8e05oh+G9W/0jCjYNLNv5HLBtcMyri6WH/pEh3fGBQQb6qlDETW8GKup7v1wq5+H6e5PUNsRE8ofDwegiaw4hRVdEzujcMsVWx/l0SMEkjmI4EcQKr74Cuo4rSRppfivWwxoaNKrU9j8jwge90CFv9OB+Z2KPP5rC744k1stOiZxQBkVGZkGP5rpg9CVzfTGnaqAh8veDc9DZSiom39xkf4xuzqGi5LA4ZeJxGYs0NBxzJE2wH+UoufaWo7Q15kloxesxX0xaa2XE3FXtort56N4328Xz9hcV6+Nh5HDOHCML84Fw0bC4YgfU7BImtYpbMdmhYcN564Pn940ZM9EE4f0ZxjKK8C9pGng4ixWnHbk8VabOiFskWlLAKdHs5MB2ty9ka4Gchgmu91wwLIWmjBT9xHuil1Ssy3DuX2uD+oBqM5PM0fLLzbOBowSvMkdO5u/zOU5/3cLiQe1f4xd7nmtYOXjjaZotkKRr1egeGFdMqVLyYcg0gRHDK9yHC/ynXRoYlEXO8mCN1ab80eaX4QSFHx+FNTTL7WJLwPq4AO3AFUbvir//HQUFlBrQLdCO633jyfDA6njDC9/izfxtlQxQYISC4j0z15b6FE6rIU4n66lpWHq/VZytUdcFra3MklfwfbNnM3sJyQTkFwkWlNbfjsedCxRtJbkpM+fVEXBt8Xc4mC6nh/lbG4xoqtRtvDz3fMolayCbK8QOptsD6w8vqYUN2IUBlBfO1H9GGf/e+RLRjk03rSa63NMjlT3QKIeSDMqXkyBSCCCV6vjhFwikbBhEFLstJy1+61AiYceUT6omtIZZD/dTTjvZBrNMFX8aHSwDig5PnS7sqSJig==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "68359147-9e55-4cd7-592f-08dc4e833bd6", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8147.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Mar 2024 17:27:53.2952\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": "pZtfh8BoE7niWi2pIx533l89naTobZC9Yte0QsSL/Z4ILcDCC398prSR3dn1y634ogrg6DbIJ1sVb3A19X6zFLFK9JqqIC+fghyULmnZRMY=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM9PR04MB8796", "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": "Hi All,\n\nThis is the v3 of the change to support the configuration of the order\nof pipelines match, by using an environment variable.\n\nv3:\n- PipelineHandlerFactoryBase::getFactoryByName() unnecessary 'else' removed.\n- CameraManager::pipelineFactoryMatch() declaration moved to match the\n position of the method definition.\n- Add to env variable documentation the information about how the pipeline\n handlers names are defined in the source - also breaked long line at 80\n characters.\n- Fix and complement commit messages.\n- Fix and complement source comments.\n\nv2:\n- Add 'get factory by name' helper to PipelineHandlerFactoryBase as a\n preceding patch\n- Move lamba pipeMatch() to a private class function\n- Remove unnecessary string empty test\n- Inline lamba nameMatch\n- Update comments and variable names per v1 reviews \n\nLink to v2: https://lists.libcamera.org/pipermail/libcamera-devel/2024-March/040859.html\n\nThanks\n\n\nThere is currently no way to configure the order used by the CameraManager\nto select the pipeline handlers to match devices from the DeviceEnumerator.\nThat is a limitation when multiple pipeline are compiled in, capable of\nhandling the devices of the platform. In that case, user can not specify\nthe pipeline that will bind to the devices and handle the cameras.\n\nThis change adds an environment variable, optionnaly initialized with an\nordered list of candidate pipelines that CameraManager shall use to match\nthe devices. When the variable is not set, CameraManager behavior is\nunchanged: every registered pipeline is selected in turn to attempt device\nmatching. \n\nUsing that variable, user has the option to explicitly select the pipeline\nor the subset of available pipelines that CameraManager shall consider\nfor matching.\n\nJulien Vuillaumier (2):\n libcamera: pipeline: Add a get factory by name helper\n libcamera: camera_manager: Add environment variable to order pipelines\n match\n\n Documentation/environment_variables.rst | 8 +++\n include/libcamera/internal/camera_manager.h | 1 +\n include/libcamera/internal/pipeline_handler.h | 1 +\n src/libcamera/camera_manager.cpp | 53 ++++++++++++++-----\n src/libcamera/pipeline_handler.cpp | 22 ++++++++\n 5 files changed, 73 insertions(+), 12 deletions(-)" }