libcamera: pipeline: rkisp1: Do not try to process cancelled frames

There is no need to try and process cancelled frames, try to finish as
quickly as possible.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund
2020-03-26 16:18:42 +01:00
parent e349ec8c66
commit 871d182cef

View File

@@ -1032,6 +1032,12 @@ void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)
RkISP1CameraData *data = cameraData(activeCamera_);
Request *request = buffer->request();
if (buffer->metadata().status == FrameMetadata::FrameCancelled) {
completeBuffer(activeCamera_, request, buffer);
completeRequest(activeCamera_, request);
return;
}
data->timeline_.bufferReady(buffer);
if (data->frame_ <= buffer->metadata().sequence)
@@ -1043,6 +1049,9 @@ void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)
void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)
{
if (buffer->metadata().status == FrameMetadata::FrameCancelled)
return;
ASSERT(activeCamera_);
RkISP1CameraData *data = cameraData(activeCamera_);
@@ -1054,6 +1063,9 @@ void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)
void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)
{
if (buffer->metadata().status == FrameMetadata::FrameCancelled)
return;
ASSERT(activeCamera_);
RkISP1CameraData *data = cameraData(activeCamera_);