summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/vimc.cpp
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-10-08 02:45:25 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-10 21:39:53 +0300
commit8eec5712c0fa7b854e5280fc7526fb539bfd0cdd (patch)
tree17606fa25b2f5910ec97103227a3ac81756d8c3a /src/libcamera/pipeline/vimc.cpp
parent3a924ee250ade392643656eeef88f380bf519c2e (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.cpp12
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))