[libcamera-devel] [PATCH v2 06/12] libcamera: camera_configuration: Return config index

Jacopo Mondi jacopo at jmondi.org
Wed Sep 2 17:22:30 CEST 2020


When adding a new StreamConfiguration to a CameraConfiguration instance
it might be useful to know how what is the index of the newly added item
to be able to retrieve it later.

Return the index of the newly inserted item, which corresponds to the
0-indexed number of items in the CameraConfiguration::config_ vector,
from CameraConfiguration::addConfiguration().

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 include/libcamera/camera.h | 2 +-
 src/libcamera/camera.cpp   | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index 272c12c3c473..53c32afa23a5 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -39,7 +39,7 @@ public:
 
 	virtual ~CameraConfiguration();
 
-	void addConfiguration(const StreamConfiguration &cfg);
+	int addConfiguration(const StreamConfiguration &cfg);
 	virtual Status validate() = 0;
 
 	StreamConfiguration &at(unsigned int index);
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index 4a9c19c33cfb..9a8923620e24 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -104,10 +104,13 @@ CameraConfiguration::~CameraConfiguration()
 /**
  * \brief Add a stream configuration to the camera configuration
  * \param[in] cfg The stream configuration
+ * \return The index of the newly added stream configuration
  */
-void CameraConfiguration::addConfiguration(const StreamConfiguration &cfg)
+int CameraConfiguration::addConfiguration(const StreamConfiguration &cfg)
 {
 	config_.push_back(cfg);
+
+	return config_.size() - 1;
 }
 
 /**
-- 
2.28.0



More information about the libcamera-devel mailing list