[libcamera-devel] [PATCH v3 07/16] libcamera: rkisp1: Do not over-write metadata

Jacopo Mondi jacopo at jmondi.org
Wed Apr 21 18:03:10 CEST 2021


When a Request is completed upon receiving the IPA produced metadata,
the metadata associated with the Request are over-written, deleting
the information set at output buffer completion, such as the
SensorTimestamp.

This commit applies to the RkISP1 pipeline handler the same change
applied to IPU3 in commit 13a7ed7b1f1f ("libcamera: ipu3: Do not
over-write metadata") but compared to that commit it uses the newly
introduced ControlList::merge() function.

Fixes: 0eb65e14e18d ("libcamera: pipeline: rkisp1: Attach to an IPA")
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 549f4a4e61a8..c3d390f775f2 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -362,7 +362,7 @@ void RkISP1CameraData::metadataReady(unsigned int frame, const ControlList &meta
 	if (!info)
 		return;
 
-	info->request->metadata() = metadata;
+	info->request->metadata().merge(const_cast<ControlList &>(metadata));
 	info->metadataProcessed = true;
 
 	pipe->tryCompleteRequest(info->request);
-- 
2.31.1



More information about the libcamera-devel mailing list