/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2019-2021, Google Inc. * * camera_request.h - libcamera Android Camera Request Descriptor */ #ifndef __ANDROID_CAMERA_REQUEST_H__ #define __ANDROID_CAMERA_REQUEST_H__ #include #include #include #include #include #include "camera_metadata.h" #include "camera_worker.h" struct Camera3RequestDescriptor { enum class Status { Pending, Success, Error, }; Camera3RequestDescriptor() = default; ~Camera3RequestDescriptor() = default; Camera3RequestDescriptor(libcamera::Camera *camera, const camera3_capture_request_t *camera3Request); Camera3RequestDescriptor &operator=(Camera3RequestDescriptor &&) = default; bool isPending() const { return status_ == Status::Pending; } uint32_t frameNumber_ = 0; std::vector buffers_; std::vector> frameBuffers_; CameraMetadata settings_; std::unique_ptr request_; camera3_capture_result_t captureResult_ = {}; Status status_ = Status::Pending; }; #endif /* __ANDROID_CAMERA_REQUEST_H__ */