[libcamera-devel,v3,8/8] android: camera_device: Remove single buffer restriction.

Message ID 20200703123919.2223048-9-kieran.bingham@ideasonboard.com
State Superseded
Headers show
Series
  • android: Multi-stream support
Related show

Commit Message

Kieran Bingham July 3, 2020, 12:39 p.m. UTC
A capture request is no longer limited to a single output buffer.
Remove the limitation, but (for now) keep the check to ensure that
at least one buffer is always provided.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/android/camera_device.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Jacopo Mondi July 6, 2020, 8:04 a.m. UTC | #1
Hi Kieran

On Fri, Jul 03, 2020 at 01:39:19PM +0100, Kieran Bingham wrote:
> A capture request is no longer limited to a single output buffer.
> Remove the limitation, but (for now) keep the check to ensure that
> at least one buffer is always provided.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

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

Thanks
  j

> ---
>  src/android/camera_device.cpp | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 3d21e59af258..1f85e7e535f5 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1050,9 +1050,8 @@ FrameBuffer *CameraDevice::createFrameBuffer(const buffer_handle_t camera3buffer
>
>  int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Request)
>  {
> -	if (camera3Request->num_output_buffers != 1) {
> -		LOG(HAL, Error) << "Invalid number of output buffers: "
> -				<< camera3Request->num_output_buffers;
> +	if (!camera3Request->num_output_buffers) {
> +		LOG(HAL, Error) << "No output buffers provided";
>  		return -EINVAL;
>  	}
>
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 3d21e59af258..1f85e7e535f5 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1050,9 +1050,8 @@  FrameBuffer *CameraDevice::createFrameBuffer(const buffer_handle_t camera3buffer
 
 int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Request)
 {
-	if (camera3Request->num_output_buffers != 1) {
-		LOG(HAL, Error) << "Invalid number of output buffers: "
-				<< camera3Request->num_output_buffers;
+	if (!camera3Request->num_output_buffers) {
+		LOG(HAL, Error) << "No output buffers provided";
 		return -EINVAL;
 	}