summaryrefslogtreecommitdiff
path: root/src/cam/camera_session.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-20 00:44:55 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-20 13:36:25 +0300
commit84ad104499d9efc0253dae1a60ee070ed375ad95 (patch)
treed10fd53eb79cebb28fa3f72b18b46dddb6382b83 /src/cam/camera_session.h
parentdaf3f4b59f4ea0ecb42c6a39fe909f071d3a2842 (diff)
Move test applications to src/apps/
The cam and qcam test application share code, currently through a crude hack that references the cam source files directly from the qcam meson.build file. To prepare for the introduction of hosting that code in a static library, move all applications to src/apps/. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/cam/camera_session.h')
-rw-r--r--src/cam/camera_session.h79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/cam/camera_session.h b/src/cam/camera_session.h
deleted file mode 100644
index d562caae..00000000
--- a/src/cam/camera_session.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*
- * Copyright (C) 2019, Google Inc.
- *
- * camera_session.h - Camera capture session
- */
-
-#pragma once
-
-#include <memory>
-#include <stdint.h>
-#include <string>
-#include <vector>
-
-#include <libcamera/base/signal.h>
-
-#include <libcamera/camera.h>
-#include <libcamera/camera_manager.h>
-#include <libcamera/framebuffer.h>
-#include <libcamera/framebuffer_allocator.h>
-#include <libcamera/request.h>
-#include <libcamera/stream.h>
-
-#include "options.h"
-
-class CaptureScript;
-class FrameSink;
-
-class CameraSession
-{
-public:
- CameraSession(libcamera::CameraManager *cm,
- const std::string &cameraId, unsigned int cameraIndex,
- const OptionsParser::Options &options);
- ~CameraSession();
-
- bool isValid() const { return config_ != nullptr; }
- const OptionsParser::Options &options() { return options_; }
-
- libcamera::Camera *camera() { return camera_.get(); }
- libcamera::CameraConfiguration *config() { return config_.get(); }
-
- void listControls() const;
- void listProperties() const;
- void infoConfiguration() const;
-
- int start();
- void stop();
-
- libcamera::Signal<> captureDone;
-
-private:
- int startCapture();
-
- int queueRequest(libcamera::Request *request);
- void requestComplete(libcamera::Request *request);
- void processRequest(libcamera::Request *request);
- void sinkRelease(libcamera::Request *request);
-
- const OptionsParser::Options &options_;
- std::shared_ptr<libcamera::Camera> camera_;
- std::unique_ptr<libcamera::CameraConfiguration> config_;
-
- std::unique_ptr<CaptureScript> script_;
-
- std::map<const libcamera::Stream *, std::string> streamNames_;
- std::unique_ptr<FrameSink> sink_;
- unsigned int cameraIndex_;
-
- uint64_t last_;
-
- unsigned int queueCount_;
- unsigned int captureCount_;
- unsigned int captureLimit_;
- bool printMetadata_;
-
- std::unique_ptr<libcamera::FrameBufferAllocator> allocator_;
- std::vector<std::unique_ptr<libcamera::Request>> requests_;
-};