libcamera: request: Move metadata_ to Private

Address a long standing \todo item that suggested to implement a
read-only interface for the Request::metadata() accessor and deflect to
the internal implementation for the read-write accessor used by pipeline
handlers.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Acked-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
This commit is contained in:
Jacopo Mondi
2025-12-16 15:02:53 +01:00
parent a8b8485aca
commit dce2ef36f2
13 changed files with 61 additions and 52 deletions
+3 -3
View File
@@ -24,7 +24,6 @@
#include <libcamera/formats.h>
#include <libcamera/framebuffer.h>
#include <libcamera/geometry.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
#include <libcamera/ipa/ipa_interface.h>
@@ -39,6 +38,7 @@
#include "libcamera/internal/ipa_manager.h"
#include "libcamera/internal/media_device.h"
#include "libcamera/internal/pipeline_handler.h"
#include "libcamera/internal/request.h"
#include "libcamera/internal/v4l2_subdevice.h"
#include "libcamera/internal/v4l2_videodevice.h"
@@ -618,8 +618,8 @@ void VimcCameraData::imageBufferReady(FrameBuffer *buffer)
}
/* Record the sensor's timestamp in the request metadata. */
request->metadata().set(controls::SensorTimestamp,
buffer->metadata().timestamp);
request->_d()->metadata().set(controls::SensorTimestamp,
buffer->metadata().timestamp);
pipe->completeBuffer(request, buffer);
pipe->completeRequest(request);