[libcamera-devel] [RFC 2/7] android: camera_device: Get rid of stream counter

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Sep 2 15:22:26 CEST 2020


Hi Jacopo,

On 02/09/2020 14:08, Jacopo Mondi wrote:
> Now that CameraConfiguration::addConfiguration() returns the index
> of the newly added configuration, there's no need to use a custom
> counter to keep track of the StreamConfiguration index associated with
> a CameraStream.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>


This makes me ... **** happy ****

I wasn't fond of calculating this stream index, but it was just the only
way I could track it - as I didn't think of returning the index! And now
it looks obvious, and much cleaner.

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/android/camera_device.cpp | 13 ++-----------
>  1 file changed, 2 insertions(+), 11 deletions(-)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 181fca83988d..5a70db832aa5 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1195,12 +1195,6 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  	streams_.clear();
>  	streams_.reserve(stream_list->num_streams);
>  
> -	/*
> -	 * Track actually created streams, as there may not be a 1:1 mapping of
> -	 * camera3 streams to libcamera streams.
> -	 */
> -	unsigned int streamIndex = 0;
> -
>  	/* First handle all non-MJPEG streams. */
>  	for (unsigned int i = 0; i < stream_list->num_streams; ++i) {
>  		camera3_stream_t *stream = stream_list->streams[i];
> @@ -1230,9 +1224,7 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  		streamConfiguration.size = size;
>  		streamConfiguration.pixelFormat = format;
>  
> -		config_->addConfiguration(streamConfiguration);
> -
> -		streams_[i].index = streamIndex++;
> +		streams_[i].index = config_->addConfiguration(streamConfiguration);
>  	}
>  
>  	/* Now handle MJPEG streams, adding a new stream if required. */
> @@ -1280,8 +1272,7 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  			LOG(HAL, Info) << "Adding " << streamConfiguration.toString()
>  				       << " for MJPEG support";
>  
> -			config_->addConfiguration(streamConfiguration);
> -			streams_[i].index = streamIndex++;
> +			streams_[i].index = config_->addConfiguration(streamConfiguration);
>  		}
>  	}
>  
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list