[libcamera-devel,08/11] android: camera_device: Use abortRequest() instead of open-coding it
diff mbox series

Message ID 20211018132923.476242-9-umang.jain@ideasonboard.com
State Superseded
Delegated to: Umang Jain
Headers show
Series
  • android: Overhaul request handling
Related show

Commit Message

Umang Jain Oct. 18, 2021, 1:29 p.m. UTC
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Call abortRequest() in CameraDevice::requestComplete() instead of
open-coding it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/android/camera_device.cpp | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

Comments

Jacopo Mondi Oct. 18, 2021, 4:33 p.m. UTC | #1
Hi Umang,

On Mon, Oct 18, 2021 at 06:59:20PM +0530, Umang Jain wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> Call abortRequest() in CameraDevice::requestComplete() instead of
> open-coding it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Indeed it seems the code is the same

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j

> ---
>  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;
> --
> 2.31.0
>
Umang Jain Oct. 19, 2021, 10:55 a.m. UTC | #2
Hi Laurent,

Thank you for the patch,

On 10/18/21 6:59 PM, Umang Jain wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> Call abortRequest() in CameraDevice::requestComplete() instead of
> open-coding it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


Reviewed-by: Umang Jain<umang.jain@ideasonboard.com>

> ---
>   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;

Patch
diff mbox series

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;