libcamera: raspberrypi: Do not over-write metadata

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 RaspberryPi pipeline handler the same change
applied to IPU3 in commit 2ee3dd57e2fc ("libcamera: ipu3: Merge IPA
metadata controls").

Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi
2021-04-19 14:49:12 +02:00
parent 99de822436
commit 131b209693

View File

@@ -1312,9 +1312,9 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList &
handleStreamBuffer(buffer, &isp_[Isp::Stats]);
/* Fill the Request metadata buffer with what the IPA has provided */
/* Add to the Request metadata buffer what the IPA has provided. */
Request *request = requestQueue_.front();
request->metadata() = controls;
request->metadata().merge(controls);
/*
* Also update the ScalerCrop in the metadata with what we actually