From 94d828d880492617c936434a5ca93ee83366a31b Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 5 Jul 2021 06:40:19 +0300 Subject: cam: Rename Capture to CameraSession Rename the Capture class to CameraSession, to prepare for multi-camera support that will gather more camera-related operations than capture in that class. While at it, remove an unneeded blank line. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- src/cam/camera_session.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/cam/camera_session.h (limited to 'src/cam/camera_session.h') diff --git a/src/cam/camera_session.h b/src/cam/camera_session.h new file mode 100644 index 00000000..ef8a11c3 --- /dev/null +++ b/src/cam/camera_session.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * camera_session.h - Camera capture session + */ +#ifndef __CAM_CAMERA_SESSION_H__ +#define __CAM_CAMERA_SESSION_H__ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "buffer_writer.h" +#include "event_loop.h" +#include "options.h" + +class CameraSession +{ +public: + CameraSession(std::shared_ptr camera, + libcamera::CameraConfiguration *config, + EventLoop *loop); + + int run(const OptionsParser::Options &options); +private: + int capture(libcamera::FrameBufferAllocator *allocator); + + int queueRequest(libcamera::Request *request); + void requestComplete(libcamera::Request *request); + void processRequest(libcamera::Request *request); + + std::shared_ptr camera_; + libcamera::CameraConfiguration *config_; + + std::map streamName_; + BufferWriter *writer_; + uint64_t last_; + + EventLoop *loop_; + unsigned int queueCount_; + unsigned int captureCount_; + unsigned int captureLimit_; + bool printMetadata_; + + std::vector> requests_; +}; + +#endif /* __CAM_CAMERA_SESSION_H__ */ -- cgit v1.2.1