libcamera: buffer: Add an accessor to the BufferMemory
Buffer instances reference memory, which is modelled internally by a BufferMemory instance. Store a pointer to the BufferMemory in the Buffer class, and populate it when the buffer is queued to the camera through a request. This is useful for applications to access the buffer memory in the buffer or request completion handler. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
@@ -811,10 +811,14 @@ int Camera::queueRequest(Request *request)
|
||||
|
||||
for (auto const &it : request->buffers()) {
|
||||
Stream *stream = it.first;
|
||||
Buffer *buffer = it.second;
|
||||
|
||||
if (activeStreams_.find(stream) == activeStreams_.end()) {
|
||||
LOG(Camera, Error) << "Invalid request";
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
buffer->mem_ = &stream->buffers()[buffer->index_];
|
||||
}
|
||||
|
||||
int ret = request->prepare();
|
||||
|
||||
Reference in New Issue
Block a user