@@ -1033,6 +1033,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)
@@ -1044,6 +1050,9 @@ void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)
void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)
{
+ if (buffer->metadata().status == FrameMetadata::FrameCancelled)
+ return;
+
ASSERT(activeCamera_);
RkISP1CameraData *data = cameraData(activeCamera_);
@@ -1055,6 +1064,9 @@ void PipelineHandlerRkISP1::paramReady(FrameBuffer *buffer)
void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)
{
+ if (buffer->metadata().status == FrameMetadata::FrameCancelled)
+ return;
+
ASSERT(activeCamera_);
RkISP1CameraData *data = cameraData(activeCamera_);