From patchwork Mon Oct 18 13:29:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Umang Jain X-Patchwork-Id: 14169 X-Patchwork-Delegate: umang.jain@ideasonboard.com 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 AE3A5C323E for ; Mon, 18 Oct 2021 13:29:47 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4837D68F5D; Mon, 18 Oct 2021 15:29:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="viEW46Lr"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 56EF568F58 for ; Mon, 18 Oct 2021 15:29:45 +0200 (CEST) Received: from perceval.ideasonboard.com (unknown [103.238.109.14]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6A6E11C15; Mon, 18 Oct 2021 15:29:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1634563785; bh=AcD+9yLKYUS53pk5mqhL69DvZzcXSQtmyGNQIKFQlDA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=viEW46Lr7hnHtakgBlAUrzFYeWr2K/fZW0O8fIxCIsz5KzrI+edt2SlAwKj6NiPWD crZPX1gICagrih04ZnYC7QskDNytxSjruARKRfuzjEU8PBPHyMpXSBcfyKTtWBIaVV S+8wuo1mquXAekZQ/ZWxft0R8Vb1fk5iuWpT9AkM= From: Umang Jain To: libcamera-devel@lists.libcamera.org Date: Mon, 18 Oct 2021 18:59:20 +0530 Message-Id: <20211018132923.476242-9-umang.jain@ideasonboard.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211018132923.476242-1-umang.jain@ideasonboard.com> References: <20211018132923.476242-1-umang.jain@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 08/11] android: camera_device: Use abortRequest() instead of open-coding it 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" From: Laurent Pinchart Call abortRequest() in CameraDevice::requestComplete() instead of open-coding it. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi Reviewed-by: Umang Jain --- src/android/camera_device.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index cd9e9fe2..216f29c2 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -831,6 +831,11 @@ void CameraDevice::abortRequest(Camera3RequestDescriptor *descriptor) const notifyError(descriptor->frameNumber_, nullptr, CAMERA3_MSG_ERROR_REQUEST); for (auto &buffer : descriptor->buffers_) { + /* + * Signal to the framework it has to handle fences that have not + * been waited on by setting the release fence to the acquire + * fence value. + */ buffer.buffer.release_fence = buffer.buffer.acquire_fence; buffer.buffer.acquire_fence = -1; buffer.buffer.status = CAMERA3_BUFFER_STATUS_ERROR; @@ -1111,21 +1116,7 @@ void CameraDevice::requestComplete(Request *request) << " not successfully completed: " << request->status(); - notifyError(descriptor->frameNumber_, nullptr, - CAMERA3_MSG_ERROR_REQUEST); - - for (auto &buffer : descriptor->buffers_) { - /* - * Signal to the framework it has to handle fences that - * have not been waited on by setting the release fence - * to the acquire fence value. - */ - buffer.buffer.release_fence = buffer.buffer.acquire_fence; - buffer.buffer.acquire_fence = -1; - buffer.buffer.status = CAMERA3_BUFFER_STATUS_ERROR; - } - - descriptor->status_ = Camera3RequestDescriptor::Status::Error; + abortRequest(descriptor); sendCaptureResults(); return;