[libcamera-devel] [RFC 3/7] android: camera_device: Check correct stream format

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Sep 2 15:25:27 CEST 2020


Hi Jacopo,

On 02/09/2020 14:08, Jacopo Mondi wrote:
> When iterating the camera3_stream_t received from the Android camera
> framework to identify the MJPEG streams, the format check was performed
> on the CameraStream created when iterating the non-MJPEG streams and not
> on the format actually requested by Android.
> 
> Fix this by checking the camera3_stream format.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  src/android/camera_device.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 5a70db832aa5..01f4b3a45566 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1230,9 +1230,10 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  	/* Now handle MJPEG streams, adding a new stream if required. */
>  	for (unsigned int i = 0; i < stream_list->num_streams; ++i) {
>  		camera3_stream_t *stream = stream_list->streams[i];
> +		PixelFormat format = toPixelFormat(stream->format);
>  		bool match = false;
>  
> -		if (streams_[i].format != formats::MJPEG)

I'm not sure how it's the 'wrong' format to check. The
CameraStream->format is already stored as a
toPixelFormat(stream->format) isn't it ?


In the event of a JPEG stream - the CameraStream is created with
formats::MJPEG ...


Even with that said, I don't think this patch is 'wrong', I just don't
see the need.... but I see the story continues in the next patches...


> +		if (format != formats::MJPEG)
>  			continue;
>  
>  		/* Search for a compatible stream */
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list