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

Message ID 20200902130846.55910-3-jacopo@jmondi.org
State Accepted
Headers show
Series
  • android: camera_device: Turn CameraStream into a class
Related show

Commit Message

Jacopo Mondi Sept. 2, 2020, 1:08 p.m. UTC
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@jmondi.org>
---
 src/android/camera_device.cpp | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

Comments

Kieran Bingham Sept. 2, 2020, 1:22 p.m. UTC | #1
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@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@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);
>  		}
>  	}
>  
>
Niklas Söderlund Sept. 4, 2020, 6:11 a.m. UTC | #2
Hi Jacopo,

Thanks for your work.

On 2020-09-02 15:08:41 +0200, 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@jmondi.org>

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  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);
>  		}
>  	}
>  
> -- 
> 2.28.0
> 
> _______________________________________________
> 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 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);
 		}
 	}