/**
 * 子控制识别Engine(辅助摄像头的控制识别)
 * */

#ifndef SUBCONTROLENGINE_H
#define SUBCONTROLENGINE_H

#include "AppCommon.h"
#include "MyYaml.h"
#include "myutils.h"
#include "EngineBase.h"
#include "EngineFactory.h"

class SubControlEngine : public ai_matrix::EngineBase
{
public:
    SubControlEngine();
    ~SubControlEngine();

    APP_ERROR Init() override;
    APP_ERROR DeInit() override;
    APP_ERROR Process() override;

private:
    //参数初始化
    void InitParam();

    bool bUseEngine_;
    bool bHwDecode_;
    ai_matrix::DataSourceConfig dataSourceConfig_;
    std::string save_path_;
    std::string strPort0_;
    std::string strPort1_;
    std::string strPort2_;
    bool bCollectDataFlag_;
    bool bPushActualFlag_; //是否实时推流-用于直播
    std::string strCollectDataSavePath_;
    std::string strResultPath_;

    uint32_t iPushDataNO_ = 1;  //发送数据编号

    MoveData moveData_;
    std::queue<std::shared_ptr<ProcessData>> queueProcessData_;
};

ENGINE_REGIST(SubControlEngine)

#endif
