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/simple | |
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/simple')
-rw-r--r-- | src/libcamera/pipeline/simple/converter.cpp | 8 | ||||
-rw-r--r-- | src/libcamera/pipeline/simple/converter.h | 3 |
2 files changed, 2 insertions, 9 deletions
diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp index 67e6e864..a6a8e139 100644 --- a/src/libcamera/pipeline/simple/converter.cpp +++ b/src/libcamera/pipeline/simple/converter.cpp @@ -24,7 +24,6 @@ namespace libcamera { LOG_DECLARE_CATEGORY(SimplePipeline) SimpleConverter::SimpleConverter(MediaDevice *media) - : m2m_(nullptr) { /* * Locate the video node. There's no need to validate the pipeline @@ -38,17 +37,12 @@ SimpleConverter::SimpleConverter(MediaDevice *media) if (it == entities.end()) return; - m2m_ = new V4L2M2MDevice((*it)->deviceNode()); + m2m_ = std::make_unique<V4L2M2MDevice>((*it)->deviceNode()); m2m_->output()->bufferReady.connect(this, &SimpleConverter::outputBufferReady); m2m_->capture()->bufferReady.connect(this, &SimpleConverter::captureBufferReady); } -SimpleConverter::~SimpleConverter() -{ - delete m2m_; -} - int SimpleConverter::open() { if (!m2m_) diff --git a/src/libcamera/pipeline/simple/converter.h b/src/libcamera/pipeline/simple/converter.h index 78296680..a3c4d899 100644 --- a/src/libcamera/pipeline/simple/converter.h +++ b/src/libcamera/pipeline/simple/converter.h @@ -29,7 +29,6 @@ class SimpleConverter { public: SimpleConverter(MediaDevice *media); - ~SimpleConverter(); int open(); void close(); @@ -56,7 +55,7 @@ private: void captureBufferReady(FrameBuffer *buffer); void outputBufferReady(FrameBuffer *buffer); - V4L2M2MDevice *m2m_; + std::unique_ptr<V4L2M2MDevice> m2m_; std::queue<FrameBuffer *> captureDoneQueue_; std::queue<FrameBuffer *> outputDoneQueue_; |