libcamera: pipeline: vimc: Fail without an IPA

The IPA is required for VIMC so fail early if it can't be loaded.

Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2021-06-16 15:33:08 +01:00
parent 3c9c2870e2
commit 5db033f0e7

View file

@ -426,13 +426,14 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
return false;
data->ipa_ = IPAManager::createIPA<ipa::vimc::IPAProxyVimc>(this, 0, 0);
if (data->ipa_ != nullptr) {
std::string conf = data->ipa_->configurationFile("vimc.conf");
data->ipa_->init(IPASettings{ conf, data->sensor_->model() });
} else {
LOG(VIMC, Warning) << "no matching IPA found";
if (!data->ipa_) {
LOG(VIMC, Error) << "no matching IPA found";
return false;
}
std::string conf = data->ipa_->configurationFile("vimc.conf");
data->ipa_->init(IPASettings{ conf, data->sensor_->model() });
/* Create and register the camera. */
std::set<Stream *> streams{ &data->stream_ };
std::shared_ptr<Camera> camera =