pipeline: ipa: raspberrypi: Fix pipeline running on in a stopped state
With the recent IPAInterface changes, the signal handlers
statsMetadataComplete(), runISP() and embeddedComplete() would run
unconditionally when called. They should only run when state != Stopped.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Fixes: e201cb4f54 ("libcamera: IPAInterface: Replace C API with the new C++-only API")
Tested-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
9fe81a51ab
commit
a13d229086
@@ -1281,7 +1281,7 @@ int RPiCameraData::configureIPA(const CameraConfiguration *config)
|
||||
void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList &controls)
|
||||
{
|
||||
if (state_ == State::Stopped)
|
||||
handleState();
|
||||
return;
|
||||
|
||||
FrameBuffer *buffer = isp_[Isp::Stats].getBuffers().at(bufferId);
|
||||
|
||||
@@ -1314,7 +1314,7 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList &
|
||||
void RPiCameraData::runIsp(uint32_t bufferId)
|
||||
{
|
||||
if (state_ == State::Stopped)
|
||||
handleState();
|
||||
return;
|
||||
|
||||
FrameBuffer *buffer = unicam_[Unicam::Image].getBuffers().at(bufferId);
|
||||
|
||||
@@ -1329,7 +1329,7 @@ void RPiCameraData::runIsp(uint32_t bufferId)
|
||||
void RPiCameraData::embeddedComplete(uint32_t bufferId)
|
||||
{
|
||||
if (state_ == State::Stopped)
|
||||
handleState();
|
||||
return;
|
||||
|
||||
FrameBuffer *buffer = unicam_[Unicam::Embedded].getBuffers().at(bufferId);
|
||||
handleStreamBuffer(buffer, &unicam_[Unicam::Embedded]);
|
||||
|
||||
Reference in New Issue
Block a user