Patch Detail
Show a patch.
GET /api/1.1/patches/24069/?format=api
{ "id": 24069, "url": "https://patchwork.libcamera.org/api/1.1/patches/24069/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24069/", "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": "<20250807135726.89330-1-uajain@igalia.com>", "date": "2025-08-07T13:57:26", "name": "[v2] test: camera: Use Request::ReuseBuffers flag", "commit_ref": "17ae86986e0949400d965ee18b80efa97ed3eb56", "pull_url": null, "state": "accepted", "archived": false, "hash": "db6b10c530167d2ef6b8accce76fb866f24c1937", "submitter": { "id": 232, "url": "https://patchwork.libcamera.org/api/1.1/people/232/?format=api", "name": "Umang Jain", "email": "uajain@igalia.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24069/mbox/", "series": [ { "id": 5362, "url": "https://patchwork.libcamera.org/api/1.1/series/5362/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5362", "date": "2025-08-07T13:57:26", "name": "[v2] test: camera: Use Request::ReuseBuffers flag", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5362/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24069/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24069/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 B7B89BE086\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 7 Aug 2025 13:57:21 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D98586921E;\n\tThu, 7 Aug 2025 15:57:20 +0200 (CEST)", "from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 24DCC69052\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 7 Aug 2025 15:57:19 +0200 (CEST)", "from [49.36.71.143] (helo=uajain)\n\tby fanzine2.igalia.com with esmtpsa \n\t(Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1uk17O-00B1mQ-44; Thu, 07 Aug 2025 15:57:18 +0200" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=igalia.com header.i=@igalia.com\n\theader.b=\"TtZ135Iu\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;\n\ts=20170329;\n\th=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:\n\tCc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tIn-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=4PRTFQJxTWkjdIsrsKKmWG/6UcCm3y+SvoYPRwSBLTE=;\n\tb=TtZ135IuYMbOf1+ChmnUWA2atP\n\tkO0IQ4KWMikw/TGG/zRd8K26HXS0zl9vVdwidvGTkM01oq5zVGqzdr/mswcSrhPccfyST4LT3NS+2\n\t7Kd5CkvRZC2bezgRWR3SynSHq5mcLtwwqYJdbuz1g2FlmbMQSIPZe+atX1+cz2thOZB3zXhr07/Vi\n\tT/XA7cQfwjLz1KfCyEPxrt725g1Dqz3c7CVhTg0zIO1nlmkoF0mwAyX+3dv5/lvKu7R8MQfievFoI\n\tF+COb6oLhNDzuUSTCUjpbwfglLoNVymm+jXSohaYmsp0ceJgkXxeZXeTz+TEy+MXR7eYP/sjPk+xd\n\tbvFbgUdg==;", "From": "Umang Jain <uajain@igalia.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Umang Jain <uajain@igalia.com>", "Subject": "[PATCH v2] test: camera: Use Request::ReuseBuffers flag", "Date": "Thu, 7 Aug 2025 19:27:26 +0530", "Message-ID": "<20250807135726.89330-1-uajain@igalia.com>", "X-Mailer": "git-send-email 2.50.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "Pass Request::ReuseBuffers flag to request->reuse()\nwhere the same buffers are added to the request, as the flag\nexists precisely for such use cases.\n\nThis commit also drops invalid comments about creating new requests,\nsince requests were already being reused for `buffer_import`\nand `capture` tests since commit c753223ad6b9\n(\"libcamera, android, cam, gstreamer, qcam, v4l2: Reuse Request\").\n\nSigned-off-by: Umang Jain <uajain@igalia.com>\n---\nchanges in v2:\n- Drop invalid \"Create a new request\" comments\n---\n test/camera/buffer_import.cpp | 9 +--------\n test/camera/camera_reconfigure.cpp | 8 +-------\n test/camera/capture.cpp | 9 +--------\n 3 files changed, 3 insertions(+), 23 deletions(-)", "diff": "diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp\nindex 815d1cae..5e271ad3 100644\n--- a/test/camera/buffer_import.cpp\n+++ b/test/camera/buffer_import.cpp\n@@ -52,16 +52,9 @@ protected:\n \t\tif (request->status() != Request::RequestComplete)\n \t\t\treturn;\n \n-\t\tconst Request::BufferMap &buffers = request->buffers();\n-\n \t\tcompleteRequestsCount_++;\n \n-\t\t/* Create a new request. */\n-\t\tconst Stream *stream = buffers.begin()->first;\n-\t\tFrameBuffer *buffer = buffers.begin()->second;\n-\n-\t\trequest->reuse();\n-\t\trequest->addBuffer(stream, buffer);\n+\t\trequest->reuse(Request::ReuseBuffers);\n \t\tcamera_->queueRequest(request);\n \n \t\tdispatcher_->interrupt();\ndiff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp\nindex 06c87730..ae9941c1 100644\n--- a/test/camera/camera_reconfigure.cpp\n+++ b/test/camera/camera_reconfigure.cpp\n@@ -46,14 +46,8 @@ private:\n \t\tif (request->status() != Request::RequestComplete)\n \t\t\treturn;\n \n-\t\tconst Request::BufferMap &buffers = request->buffers();\n-\n-\t\tconst Stream *stream = buffers.begin()->first;\n-\t\tFrameBuffer *buffer = buffers.begin()->second;\n-\n \t\t/* Reuse the request and re-queue it with the same buffers. */\n-\t\trequest->reuse();\n-\t\trequest->addBuffer(stream, buffer);\n+\t\trequest->reuse(Request::ReuseBuffers);\n \t\tcamera_->queueRequest(request);\n \t}\n \ndiff --git a/test/camera/capture.cpp b/test/camera/capture.cpp\nindex 8766fb19..fabe297e 100644\n--- a/test/camera/capture.cpp\n+++ b/test/camera/capture.cpp\n@@ -48,16 +48,9 @@ protected:\n \t\tif (request->status() != Request::RequestComplete)\n \t\t\treturn;\n \n-\t\tconst Request::BufferMap &buffers = request->buffers();\n-\n \t\tcompleteRequestsCount_++;\n \n-\t\t/* Create a new request. */\n-\t\tconst Stream *stream = buffers.begin()->first;\n-\t\tFrameBuffer *buffer = buffers.begin()->second;\n-\n-\t\trequest->reuse();\n-\t\trequest->addBuffer(stream, buffer);\n+\t\trequest->reuse(Request::ReuseBuffers);\n \t\tcamera_->queueRequest(request);\n \n \t\tdispatcher_->interrupt();\n", "prefixes": [ "v2" ] }