diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-12-09 13:13:38 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-12-14 15:46:04 +0200 |
commit | 3129fcae43ce139cb1e158cb5255428afb8952ec (patch) | |
tree | 84e902862aa325a95a40f7241b63e11add6bee0c /src/libcamera/pipeline/vimc | |
parent | 1c2b54a0173f5ad6d792617246439ec1823bab5a (diff) |
libcamera: pipeline: Manage resources with std::unique_ptr<>
Replace manual resource destruction with std::unique_ptr<> where
applicable. This removes the need for several destructors.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline/vimc')
-rw-r--r-- | src/libcamera/pipeline/vimc/vimc.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp index 72256f5b..8bda746f 100644 --- a/src/libcamera/pipeline/vimc/vimc.cpp +++ b/src/libcamera/pipeline/vimc/vimc.cpp @@ -42,20 +42,15 @@ class VimcCameraData : public CameraData { public: VimcCameraData(PipelineHandler *pipe, MediaDevice *media) - : CameraData(pipe), media_(media), sensor_(nullptr) + : CameraData(pipe), media_(media) { } - ~VimcCameraData() - { - delete sensor_; - } - int init(); void bufferReady(FrameBuffer *buffer); MediaDevice *media_; - CameraSensor *sensor_; + std::unique_ptr<CameraSensor> sensor_; std::unique_ptr<V4L2Subdevice> debayer_; std::unique_ptr<V4L2Subdevice> scaler_; std::unique_ptr<V4L2VideoDevice> video_; @@ -461,7 +456,7 @@ int VimcCameraData::init() return ret; /* Create and open the camera sensor, debayer, scaler and video device. */ - sensor_ = new CameraSensor(media_->getEntityByName("Sensor B")); + sensor_ = std::make_unique<CameraSensor>(media_->getEntityByName("Sensor B")); ret = sensor_->init(); if (ret) return ret; |