[libcamera-devel] [PATCH 2/2] libcamera: ipu3: Re-work camera data registration

Jacopo Mondi jacopo at jmondi.org
Sat Jan 26 17:28:59 CET 2019


Re-work camera data registration.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 64f639f..80f4a7b 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -210,18 +210,16 @@ void PipelineHandlerIPU3::registerCameras()
 		 * registered. The 'camera' shared pointer goes out of scope
 		 * and deletes the Camera it manages.
 		 */
-		V4L2Device *videoDev = createVideoDevice(id);
-		if (!videoDev) {
+		std::unique_ptr<IPU3CameraData> data = utils::make_unique<IPU3CameraData>();
+		data->dev_ = createVideoDevice(id);
+		if (!data->dev_) {
 			LOG(IPU3, Error)
 				<< "Failed to register camera["
 				<< numCameras << "] \"" << cameraName << "\"";
 			continue;
 		}
 
-		IPU3CameraData *data = new IPU3CameraData();
-		data->dev_ = videoDev;
-		setCameraData(camera.get(),
-			      std::move(std::unique_ptr<IPU3CameraData>(data)));
+		setCameraData(camera.get(), std::move(data));
 		registerCamera(std::move(camera));
 
 		LOG(IPU3, Info)
-- 
2.20.1



More information about the libcamera-devel mailing list