#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