diff options
Diffstat (limited to 'src/libcamera/camera.cpp')
-rw-r--r-- | src/libcamera/camera.cpp | 21 |
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 */ |