/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2019, Google Inc. * * file_sink.h - File Sink */ #pragma once #include #include #include #include #include "frame_sink.h" class Image; class FileSink : public FrameSink { public: FileSink(const std::map &streamNames, const std::string &pattern = ""); ~FileSink(); int configure(const libcamera::CameraConfiguration &config) override; void mapBuffer(libcamera::FrameBuffer *buffer) override; bool processRequest(libcamera::Request *request) override; private: void writeBuffer(const libcamera::Stream *stream, libcamera::FrameBuffer *buffer); std::map streamNames_; std::string pattern_; std::map> mappedBuffers_; };