diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-03-11 13:59:16 +0000 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-03-24 22:20:05 +0000 |
commit | 6bf86aa260c8e7043b191689d9e6058bff1941a6 (patch) | |
tree | cad5af6e5c4cb299915fbd1a88c698f9f064b87f | |
parent | 552ac5cfeccba4a37079533b4562358ac4a7b4f9 (diff) |
libcamera: pipeline: ipu3: frames: Associate buffers with the request
Ensure that the buffers are associated with the request even if they are
used internally to be able to correctly map back to the resources they
are being used to fulfil.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r-- | src/libcamera/pipeline/ipu3/cio2.cpp | 3 | ||||
-rw-r--r-- | src/libcamera/pipeline/ipu3/frames.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp index 0ef3bc04..3cd777d1 100644 --- a/src/libcamera/pipeline/ipu3/cio2.cpp +++ b/src/libcamera/pipeline/ipu3/cio2.cpp @@ -278,10 +278,9 @@ FrameBuffer *CIO2Device::queueBuffer(Request *request, FrameBuffer *rawBuffer) buffer = availableBuffers_.front(); availableBuffers_.pop(); + buffer->setRequest(request); } - buffer->setRequest(request); - int ret = output_->queueBuffer(buffer); if (ret) return nullptr; diff --git a/src/libcamera/pipeline/ipu3/frames.cpp b/src/libcamera/pipeline/ipu3/frames.cpp index c7718fe7..e8eb1c51 100644 --- a/src/libcamera/pipeline/ipu3/frames.cpp +++ b/src/libcamera/pipeline/ipu3/frames.cpp @@ -58,6 +58,9 @@ IPU3Frames::Info *IPU3Frames::create(Request *request) FrameBuffer *paramBuffer = availableParamBuffers_.front(); FrameBuffer *statBuffer = availableStatBuffers_.front(); + paramBuffer->setRequest(request); + statBuffer->setRequest(request); + availableParamBuffers_.pop(); availableStatBuffers_.pop(); |