summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/pipeline/rkisp1/rkisp1.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 8bb4582e..d6b5073b 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -1070,20 +1070,8 @@ void PipelineHandlerRkISP1::tryCompleteRequest(Request *request)
void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)
{
ASSERT(activeCamera_);
- 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)
- data->frame_ = buffer->metadata().sequence + 1;
-
completeBuffer(activeCamera_, request, buffer);
tryCompleteRequest(request);
}
@@ -1114,6 +1102,11 @@ void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)
if (!info)
return;
+ data->timeline_.bufferReady(buffer);
+
+ if (data->frame_ <= buffer->metadata().sequence)
+ data->frame_ = buffer->metadata().sequence + 1;
+
IPAOperationData op;
op.operation = RKISP1_IPA_EVENT_SIGNAL_STAT_BUFFER;
op.data = { info->frame, info->statBuffer->cookie() };