From 856a4a25278ce5e4b64497deaa3b20c4df16fdee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= Date: Sun, 12 Jan 2020 01:10:51 +0100 Subject: libcamera: request: remove prepare() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The association of buffers to a request can be done directly in addBuffer() instead of when the request is queued to the camera. Keep the check that a request contains buffers by moving it to Camera::queueRequest() where prepare() was previously called. As a bonus we can remove a friend statement in Request. Signed-off-by: Niklas Söderlund Reviewed-by: Laurent Pinchart --- src/libcamera/camera.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/libcamera/camera.cpp') diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp index e810fb72..5d294b10 100644 --- a/src/libcamera/camera.cpp +++ b/src/libcamera/camera.cpp @@ -810,6 +810,11 @@ int Camera::queueRequest(Request *request) if (!stateIs(CameraRunning)) return -EACCES; + if (request->buffers().empty()) { + LOG(Camera, Error) << "Request contains no buffers"; + return -EINVAL; + } + for (auto const &it : request->buffers()) { Stream *stream = it.first; Buffer *buffer = it.second; @@ -832,12 +837,6 @@ int Camera::queueRequest(Request *request) buffer->mem_ = &stream->buffers()[buffer->index_]; } - int ret = request->prepare(); - if (ret) { - LOG(Camera, Error) << "Failed to prepare request"; - return ret; - } - return pipe_->queueRequest(this, request); } -- cgit v1.2.1