summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Fricke <sebastian.fricke@posteo.net>2021-03-27 11:08:13 +0100
committerKieran Bingham <kieran.bingham@ideasonboard.com>2021-03-27 14:27:45 +0000
commit1456efe7d51a3a0c6b57db4310f75b2a08ab1756 (patch)
tree0bea8118621c7d0a4f8cab8247e91fbf3f7131ec
parent92cad298fb7d9c459ba96cf06aa8079557e8020f (diff)
ipa: rkisp1: Do not set controls during configure
Do not send events back to the pipeline handler, while the IPA thread has not been started. If information needs to be returned from configure it should be returned directly. Move the initial call to setControls() out of configure() and into the start() method which is called after the IPA running_ state is updated. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index d2a10bb9..8a57b080 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -32,7 +32,7 @@ class IPARkISP1 : public ipa::rkisp1::IPARkISP1Interface
{
public:
int init(unsigned int hwRevision) override;
- int start() override { return 0; }
+ int start() override;
void stop() override {}
int configure(const CameraSensorInfo &info,
@@ -80,6 +80,13 @@ int IPARkISP1::init(unsigned int hwRevision)
return 0;
}
+int IPARkISP1::start()
+{
+ setControls(0);
+
+ return 0;
+}
+
/**
* \todo The RkISP1 pipeline currently provides an empty CameraSensorInfo
* if the connected sensor does not provide enough information to properly
@@ -121,7 +128,6 @@ int IPARkISP1::configure([[maybe_unused]] const CameraSensorInfo &info,
<< "Exposure: " << minExposure_ << "-" << maxExposure_
<< " Gain: " << minGain_ << "-" << maxGain_;
- setControls(0);
return 0;
}