libcamera: ipu3: Re-work camera data registration
Re-work camera data registration to create the cameraData pointer as unique_ptr<> and make clear its ownership model. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
ebc4cab862
commit
4f32a3b408
1 changed files with 4 additions and 6 deletions
|
@ -210,18 +210,16 @@ void PipelineHandlerIPU3::registerCameras()
|
||||||
* registered. The 'camera' shared pointer goes out of scope
|
* registered. The 'camera' shared pointer goes out of scope
|
||||||
* and deletes the Camera it manages.
|
* and deletes the Camera it manages.
|
||||||
*/
|
*/
|
||||||
V4L2Device *videoDev = createVideoDevice(id);
|
std::unique_ptr<IPU3CameraData> data = utils::make_unique<IPU3CameraData>();
|
||||||
if (!videoDev) {
|
data->dev_ = createVideoDevice(id);
|
||||||
|
if (!data->dev_) {
|
||||||
LOG(IPU3, Error)
|
LOG(IPU3, Error)
|
||||||
<< "Failed to register camera["
|
<< "Failed to register camera["
|
||||||
<< numCameras << "] \"" << cameraName << "\"";
|
<< numCameras << "] \"" << cameraName << "\"";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPU3CameraData *data = new IPU3CameraData();
|
setCameraData(camera.get(), std::move(data));
|
||||||
data->dev_ = videoDev;
|
|
||||||
setCameraData(camera.get(),
|
|
||||||
std::move(std::unique_ptr<IPU3CameraData>(data)));
|
|
||||||
registerCamera(std::move(camera));
|
registerCamera(std::move(camera));
|
||||||
|
|
||||||
LOG(IPU3, Info)
|
LOG(IPU3, Info)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue