#ifndef FA05C272_A837_4EE6_A95D_55486BEA1F99 #define FA05C272_A837_4EE6_A95D_55486BEA1F99 /* ******************************************************************************* * INCLUDE ******************************************************************************* */ #include "../../core/VideoComponent.h" #include "MPPChannel.h" #include "VideoFrame.h" #include #include "util/Broadcast.h" namespace Video { namespace MPP5 { /* ******************************************************************************* * CLASS DECLARE ******************************************************************************* */ class VideoInput: public Core::VideoComponent, public MPPChannel { public: using Ptr = Poco::AutoPtr; public: VideoInput(uint32_t deviceID, uint32_t channelID, bool dataReverseEnable); ~VideoInput(); void reset() override; protected: void start() override; void stop() override; void onConfigChanged(ParameterNames& names) override; uint32_t traffic() override; void enableUserPic(bool enable); hi_vi_scan_mode getVIScanMode(); private: bool _dataReverseEnable; const uint32_t _channelId; public: static void initModule(); static void deinitModule(); private: static VideoFrame::Ptr _pUserVideoFrame; }; } } #endif