[libcamera-devel] [PATCH 09/10] cam: Store camera as shared pointer everywhere
Niklas Söderlund
niklas.soderlund at ragnatech.se
Mon Oct 28 03:22:23 CET 2019
Do not store the camera raw pointer in the capture class, this will
prevent forwarding the shared pointer in the future.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
src/cam/capture.cpp | 2 +-
src/cam/capture.h | 4 ++--
src/cam/main.cpp | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/cam/capture.cpp b/src/cam/capture.cpp
index 27332df1d55a5c2d..e665d819fb777a90 100644
--- a/src/cam/capture.cpp
+++ b/src/cam/capture.cpp
@@ -16,7 +16,7 @@
using namespace libcamera;
-Capture::Capture(Camera *camera, CameraConfiguration *config)
+Capture::Capture(std::shared_ptr<Camera> camera, CameraConfiguration *config)
: camera_(camera), config_(config), writer_(nullptr)
{
}
diff --git a/src/cam/capture.h b/src/cam/capture.h
index 4d396afb8c771a74..c692d48918f2de1d 100644
--- a/src/cam/capture.h
+++ b/src/cam/capture.h
@@ -21,7 +21,7 @@
class Capture
{
public:
- Capture(libcamera::Camera *camera,
+ Capture(std::shared_ptr<libcamera::Camera> camera,
libcamera::CameraConfiguration *config);
int run(EventLoop *loop, const OptionsParser::Options &options);
@@ -30,7 +30,7 @@ private:
void requestComplete(libcamera::Request *request);
- libcamera::Camera *camera_;
+ std::shared_ptr<libcamera::Camera> camera_;
libcamera::CameraConfiguration *config_;
std::map<libcamera::Stream *, std::string> streamName_;
diff --git a/src/cam/main.cpp b/src/cam/main.cpp
index 9d99f5587cbb77d0..a38cca959aca05ff 100644
--- a/src/cam/main.cpp
+++ b/src/cam/main.cpp
@@ -319,7 +319,7 @@ int CamApp::run()
}
if (options_.isSet(OptCapture)) {
- Capture capture(camera_.get(), config_.get());
+ Capture capture(camera_, config_.get());
return capture.run(loop_, options_);
}
--
2.23.0
More information about the libcamera-devel
mailing list