pipeline: ipa: raspberrypi: Handle failures during IPA configuration
If the IPA fails during configuration, return an error flag to the pipeline handler and fail the use case gracefully. At present, the IPA configuration can fail for the following reasons: - The sensor is not recognised, and fails to open a CamHelper object. - The pipeline handler did not pass in controls for the ISP and sensor. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
8fed613562
commit
ee477efde8
3 changed files with 17 additions and 1 deletions
|
@ -197,8 +197,11 @@ void IPARPi::configure(const CameraSensorInfo &sensorInfo,
|
|||
const IPAOperationData &ipaConfig,
|
||||
IPAOperationData *result)
|
||||
{
|
||||
if (entityControls.empty())
|
||||
if (entityControls.size() != 2) {
|
||||
LOG(IPARPI, Error) << "No ISP or sensor controls found.";
|
||||
result->operation = RPi::IPA_CONFIG_FAILED;
|
||||
return;
|
||||
}
|
||||
|
||||
result->operation = 0;
|
||||
|
||||
|
@ -217,6 +220,13 @@ void IPARPi::configure(const CameraSensorInfo &sensorInfo,
|
|||
if (!helper_) {
|
||||
helper_ = std::unique_ptr<RPiController::CamHelper>(RPiController::CamHelper::Create(cameraName));
|
||||
|
||||
if (!helper_) {
|
||||
LOG(IPARPI, Error) << "Could not create camera helper for "
|
||||
<< cameraName;
|
||||
result->operation = RPi::IPA_CONFIG_FAILED;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Pass out the sensor config to the pipeline handler in order
|
||||
* to setup the staggered writer class.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue