#ifndef AB83CB54_F14E_4C1B_B2AE_6AF47090444C #define AB83CB54_F14E_4C1B_B2AE_6AF47090444C /* ******************************************************************************* * INCLUDE ******************************************************************************* */ #include "../../core/VideoOutput.h" #include "MPPChannel.h" #include #include namespace Video { namespace MPP5 { /* ******************************************************************************* * CLASS DECLARE ******************************************************************************* */ class HDMIVideoOutput: public Core::VideoOutput, MPPChannel { public: HDMIVideoOutput(const std::string& name); ~HDMIVideoOutput(); protected: void start() override; void stop() override; void onConfigChanged(ParameterNames& names) override; void onLink(Core::Component::Ptr pPrevious) override; void onUnlink(Core::Component::Ptr pPrevious) override; void onHotPlug(); void onNoPlug(); void onEDIDFail(); void startOutput(); void stopOutput(); hi_bool getUsingHDMIMode(); hi_vo_csc_matrix getCSCMatrix(); hi_rotation getRotationValue(); PROPERTY_DECLARE(Pluged, bool, false, protected, protected) PROPERTY_DECLARE(HDMIStarted, bool, false, protected, protected) static void eventCallback(hi_hdmi_event_type event, td_void* p); }; } } #endif