#ifndef A523395E_7DEF_449B_B4DD_5FEE9147BE39 #define A523395E_7DEF_449B_B4DD_5FEE9147BE39 /* ******************************************************************************* * INCLUDE ******************************************************************************* */ #include "../core/VideoComponent.h" #include "util/SimpleFactory.h" #include "util/Task.h" namespace Video { namespace V4L2 { /* ******************************************************************************* * CLASS DECLARE ******************************************************************************* */ class Input: public Core::VideoComponent, public ::Util::SimpleFactory { public: using Ptr = Poco::AutoPtr; public: Input(const std::string& name); ~Input(); public: CONFIGURABLE_DECLARE_PARAMETER(CodecID, Core::CodecID); CONFIGURABLE_DECLARE_PARAMETER(Path, std::string); protected: void start() override; void stop() override; void onConfigChanged(ParameterNames& names) override; private: Util::Task _task; }; } } #endif