/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2024, Ideas on Board Oy * * Media pipeline support */ #pragma once #include #include #include namespace libcamera { class CameraSensor; class MediaEntity; class MediaLink; class MediaPad; struct V4L2SubdeviceFormat; class MediaPipeline { public: struct Entity { MediaEntity *entity; bool supportsRouting; const MediaPad *sink; const MediaPad *source; MediaLink *sourceLink; }; int init(MediaEntity *source, std::string_view sink); int initLinks(); int configure(CameraSensor *sensor, V4L2SubdeviceFormat *); const std::list &entities() const { return entities_; } private: std::list entities_; }; } /* namespace libcamera */