diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2019-10-08 02:45:25 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-10-10 21:39:53 +0300 |
commit | 8eec5712c0fa7b854e5280fc7526fb539bfd0cdd (patch) | |
tree | 17606fa25b2f5910ec97103227a3ac81756d8c3a /src/libcamera/pipeline/vimc.cpp | |
parent | 3a924ee250ade392643656eeef88f380bf519c2e (diff) |
libcamera: pipeline: Move IPA from pipeline to camera data
The IPA acts on a camera and not on a pipeline which can expose more
then one camera. Move the IPA reference to the CameraData.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline/vimc.cpp')
-rw-r--r-- | src/libcamera/pipeline/vimc.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp index 26477dcc..f1cfd0ed 100644 --- a/src/libcamera/pipeline/vimc.cpp +++ b/src/libcamera/pipeline/vimc.cpp @@ -101,8 +101,6 @@ private: return static_cast<VimcCameraData *>( PipelineHandler::cameraData(camera)); } - - std::unique_ptr<IPAInterface> ipa_; }; VimcCameraConfiguration::VimcCameraConfiguration() @@ -353,13 +351,13 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator) if (!media) return false; - ipa_ = IPAManager::instance()->createIPA(this, 0, 0); - if (ipa_ == nullptr) + std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this); + + data->ipa_ = IPAManager::instance()->createIPA(this, 0, 0); + if (data->ipa_ == nullptr) LOG(VIMC, Warning) << "no matching IPA found"; else - ipa_->init(); - - std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this); + data->ipa_->init(); /* Locate and open the capture video node. */ if (data->init(media)) |