@@ -341,6 +341,8 @@ void IpaBase::start(const ControlList &controls, StartResult *result)
firstStart_ = false;
lastRunTimestamp_ = 0;
+
+ platformStart(controls, result);
}
void IpaBase::mapBuffers(const std::vector<IPABuffer> &buffers)
@@ -67,6 +67,7 @@ private:
static constexpr unsigned int numMetadataContexts = 16;
virtual int32_t platformInit(const InitParams ¶ms, InitResult *result) = 0;
+ virtual int32_t platformStart(const ControlList &controls, StartResult *result) = 0;
virtual int32_t platformConfigure(const ConfigParams ¶ms, ConfigResult *result) = 0;
virtual void platformPrepareIsp(const PrepareParams ¶ms,
@@ -51,6 +51,7 @@ public:
private:
int32_t platformInit(const InitParams ¶ms, InitResult *result) override;
+ int32_t platformStart(const ControlList &controls, StartResult *result) override;
int32_t platformConfigure(const ConfigParams ¶ms, ConfigResult *result) override;
void platformPrepareIsp(const PrepareParams ¶ms, RPiController::Metadata &rpiMetadata) override;
@@ -94,6 +95,12 @@ int32_t IpaVc4::platformInit([[maybe_unused]] const InitParams ¶ms, [[maybe_
return 0;
}
+int32_t IpaVc4::platformStart([[maybe_unused]] const ControlList &controls,
+ [[maybe_unused]] StartResult *result)
+{
+ return 0;
+}
+
int32_t IpaVc4::platformConfigure(const ConfigParams ¶ms, [[maybe_unused]] ConfigResult *result)
{
ispCtrls_ = params.ispControls;