p26001-store-acs-soc-fw-app/video/hisi/mpp5/HDMIVideoOutput.h
2026-09-28 21:33:04 +08:00

53 lines
1.5 KiB
C++

#ifndef AB83CB54_F14E_4C1B_B2AE_6AF47090444C
#define AB83CB54_F14E_4C1B_B2AE_6AF47090444C
/*
*******************************************************************************
* INCLUDE
*******************************************************************************
*/
#include "../../core/VideoOutput.h"
#include "MPPChannel.h"
#include <hi_mpi_hdmi.h>
#include <hi_mpi_vo.h>
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