// SPDX-License-Identifier: GPL-3.0-or-later // // Where frames come from. // // Normally a V4L2 device. For testing without a camera (a virtual machine, a // build server) a video file or a folder of pictures stands in for one and is // played back at the pace a camera would deliver it, so that anything timed in // the liveness checks behaves the way it would with the real thing. #pragma once #include #include #include #include #include #include struct CameraInfo { QString path; QString name; // Infrared cameras (the kind Windows Hello uses) only offer grey formats. bool infrared = false; }; class Camera { public: Camera(); ~Camera(); // spec is a /dev/video path, "auto", "file: