summaryrefslogtreecommitdiff
path: root/src/libcamera/camera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/camera.cpp')
-rw-r--r--src/libcamera/camera.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index 3090874b..8e17085b 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -175,6 +175,12 @@ const std::string &Camera::name() const
}
/**
+ * \var Camera::bufferCompleted
+ * \brief Signal emitted when a buffer for a request queued to the camera has
+ * completed
+ */
+
+/**
* \var Camera::requestCompleted
* \brief Signal emitted when a request queued to the camera has completed
*/
@@ -606,4 +612,19 @@ int Camera::stop()
return 0;
}
+/**
+ * \brief Handle request completion and notify application
+ * \param[in] request The request that has completed
+ *
+ * This function is called by the pipeline handler to notify the camera that
+ * the request has completed. It emits the requestCompleted signal and deletes
+ * the request.
+ */
+void Camera::requestComplete(Request *request)
+{
+ std::map<Stream *, Buffer *> buffers(std::move(request->bufferMap_));
+ requestCompleted.emit(request, buffers);
+ delete request;
+}
+
} /* namespace libcamera */