From patchwork Thu Aug 7 13:57:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Umang Jain X-Patchwork-Id: 24069 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id B7B89BE086 for ; Thu, 7 Aug 2025 13:57:21 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D98586921E; Thu, 7 Aug 2025 15:57:20 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="TtZ135Iu"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 24DCC69052 for ; Thu, 7 Aug 2025 15:57:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=4PRTFQJxTWkjdIsrsKKmWG/6UcCm3y+SvoYPRwSBLTE=; b=TtZ135IuYMbOf1+ChmnUWA2atP kO0IQ4KWMikw/TGG/zRd8K26HXS0zl9vVdwidvGTkM01oq5zVGqzdr/mswcSrhPccfyST4LT3NS+2 7Kd5CkvRZC2bezgRWR3SynSHq5mcLtwwqYJdbuz1g2FlmbMQSIPZe+atX1+cz2thOZB3zXhr07/Vi T/XA7cQfwjLz1KfCyEPxrt725g1Dqz3c7CVhTg0zIO1nlmkoF0mwAyX+3dv5/lvKu7R8MQfievFoI F+COb6oLhNDzuUSTCUjpbwfglLoNVymm+jXSohaYmsp0ceJgkXxeZXeTz+TEy+MXR7eYP/sjPk+xd bvFbgUdg==; Received: from [49.36.71.143] (helo=uajain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1uk17O-00B1mQ-44; Thu, 07 Aug 2025 15:57:18 +0200 From: Umang Jain To: libcamera-devel@lists.libcamera.org Cc: Umang Jain 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 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Pass Request::ReuseBuffers flag to request->reuse() where the same buffers are added to the request, as the flag exists precisely for such use cases. This commit also drops invalid comments about creating new requests, since requests were already being reused for `buffer_import` and `capture` tests since commit c753223ad6b9 ("libcamera, android, cam, gstreamer, qcam, v4l2: Reuse Request"). Signed-off-by: Umang Jain Reviewed-by: Kieran Bingham --- changes in v2: - Drop invalid "Create a new request" comments --- test/camera/buffer_import.cpp | 9 +-------- test/camera/camera_reconfigure.cpp | 8 +------- test/camera/capture.cpp | 9 +-------- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp index 815d1cae..5e271ad3 100644 --- a/test/camera/buffer_import.cpp +++ b/test/camera/buffer_import.cpp @@ -52,16 +52,9 @@ protected: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - completeRequestsCount_++; - /* Create a new request. */ - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); dispatcher_->interrupt(); diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp index 06c87730..ae9941c1 100644 --- a/test/camera/camera_reconfigure.cpp +++ b/test/camera/camera_reconfigure.cpp @@ -46,14 +46,8 @@ private: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - /* Reuse the request and re-queue it with the same buffers. */ - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); } diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp index 8766fb19..fabe297e 100644 --- a/test/camera/capture.cpp +++ b/test/camera/capture.cpp @@ -48,16 +48,9 @@ protected: if (request->status() != Request::RequestComplete) return; - const Request::BufferMap &buffers = request->buffers(); - completeRequestsCount_++; - /* Create a new request. */ - const Stream *stream = buffers.begin()->first; - FrameBuffer *buffer = buffers.begin()->second; - - request->reuse(); - request->addBuffer(stream, buffer); + request->reuse(Request::ReuseBuffers); camera_->queueRequest(request); dispatcher_->interrupt();