diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2021-06-29 11:44:59 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-06-30 23:16:18 +0300 |
commit | d3ea8e78852ba91245fdb9069363c1149e99c3b0 (patch) | |
tree | c5f1b5403724a27beafc94561690c409fe886c8a | |
parent | 9d44551404fe0e68d4eaf087ac6fdd549434e98a (diff) |
ipa: raspberrypi: Use a unique_ptr for the metadata parser
The derived CamHelper class now allocates a metadata parser object through a
unique_ptr that is passed to the base class constructor. This automates the
lifetime management of the parser object.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | src/ipa/raspberrypi/cam_helper.cpp | 5 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper.hpp | 5 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper_imx219.cpp | 4 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper_imx290.cpp | 2 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper_imx477.cpp | 2 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper_ov5647.cpp | 2 | ||||
-rw-r--r-- | src/ipa/raspberrypi/cam_helper_ov9281.cpp | 2 |
7 files changed, 11 insertions, 11 deletions
diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp index 062e94c4..90498c37 100644 --- a/src/ipa/raspberrypi/cam_helper.cpp +++ b/src/ipa/raspberrypi/cam_helper.cpp @@ -40,15 +40,14 @@ CamHelper *CamHelper::Create(std::string const &cam_name) return nullptr; } -CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff) - : parser_(parser), initialized_(false), +CamHelper::CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff) + : parser_(std::move(parser)), initialized_(false), frameIntegrationDiff_(frameIntegrationDiff) { } CamHelper::~CamHelper() { - delete parser_; } void CamHelper::Prepare(Span<const uint8_t> buffer, diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp index b19c95f6..fc3139e2 100644 --- a/src/ipa/raspberrypi/cam_helper.hpp +++ b/src/ipa/raspberrypi/cam_helper.hpp @@ -6,6 +6,7 @@ */ #pragma once +#include <memory> #include <string> #include <libcamera/base/span.h> @@ -67,7 +68,7 @@ class CamHelper { public: static CamHelper *Create(std::string const &cam_name); - CamHelper(MdParser *parser, unsigned int frameIntegrationDiff); + CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff); virtual ~CamHelper(); void SetCameraMode(const CameraMode &mode); virtual void Prepare(libcamera::Span<const uint8_t> buffer, @@ -92,7 +93,7 @@ protected: void parseEmbeddedData(libcamera::Span<const uint8_t> buffer, Metadata &metadata); - MdParser *parser_; + std::unique_ptr<MdParser> parser_; CameraMode mode_; private: diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp index ec218dce..c85044a5 100644 --- a/src/ipa/raspberrypi/cam_helper_imx219.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp @@ -58,9 +58,9 @@ private: CamHelperImx219::CamHelperImx219() #if ENABLE_EMBEDDED_DATA - : CamHelper(new MdParserImx219(), frameIntegrationDiff) + : CamHelper(std::make_unique<MdParserImx219>(), frameIntegrationDiff) #else - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) #endif { } diff --git a/src/ipa/raspberrypi/cam_helper_imx290.cpp b/src/ipa/raspberrypi/cam_helper_imx290.cpp index 6f412e40..871c1f8e 100644 --- a/src/ipa/raspberrypi/cam_helper_imx290.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx290.cpp @@ -30,7 +30,7 @@ private: }; CamHelperImx290::CamHelperImx290() - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) { } diff --git a/src/ipa/raspberrypi/cam_helper_imx477.cpp b/src/ipa/raspberrypi/cam_helper_imx477.cpp index 25b36bce..d72a9be0 100644 --- a/src/ipa/raspberrypi/cam_helper_imx477.cpp +++ b/src/ipa/raspberrypi/cam_helper_imx477.cpp @@ -50,7 +50,7 @@ private: }; CamHelperImx477::CamHelperImx477() - : CamHelper(new MdParserImx477(), frameIntegrationDiff) + : CamHelper(std::make_unique<MdParserImx477>(), frameIntegrationDiff) { } diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/raspberrypi/cam_helper_ov5647.cpp index 12be6bf9..702c2d07 100644 --- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp +++ b/src/ipa/raspberrypi/cam_helper_ov5647.cpp @@ -38,7 +38,7 @@ private: */ CamHelperOv5647::CamHelperOv5647() - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) { } diff --git a/src/ipa/raspberrypi/cam_helper_ov9281.cpp b/src/ipa/raspberrypi/cam_helper_ov9281.cpp index 54091f83..9de868c3 100644 --- a/src/ipa/raspberrypi/cam_helper_ov9281.cpp +++ b/src/ipa/raspberrypi/cam_helper_ov9281.cpp @@ -34,7 +34,7 @@ private: */ CamHelperOv9281::CamHelperOv9281() - : CamHelper(nullptr, frameIntegrationDiff) + : CamHelper({}, frameIntegrationDiff) { } |