AI处理增加异常的保护

hdrplus
Matthew 12 months ago
parent 07303629c4
commit e4ab246b02

@ -165,6 +165,7 @@ CPhoneDevice::CPhoneDevice(JavaVM* vm, jobject service, const std::string& appPa
mCamera = NULL; mCamera = NULL;
m_listener = NULL; m_listener = NULL;
m_pRecognizationCfg = NULL; m_pRecognizationCfg = NULL;
mAIInitialized = false;
mHeartbeatStartTime = 0; mHeartbeatStartTime = 0;
mHeartbeatDuration = 0; mHeartbeatDuration = 0;
m_javaService = NULL; m_javaService = NULL;
@ -248,8 +249,11 @@ CPhoneDevice::~CPhoneDevice()
m_javaService = NULL; m_javaService = NULL;
if (m_pRecognizationCfg != NULL) if (m_pRecognizationCfg != NULL)
{
if (mAIInitialized)
{ {
ncnn_uninit(); ncnn_uninit();
}
m_pRecognizationCfg = NULL; m_pRecognizationCfg = NULL;
} }
} }
@ -265,9 +269,17 @@ void CPhoneDevice::SetRecognizationCfg(const IDevice::CFG_RECOGNIZATION* pRecogn
{ {
// TODO // TODO
XYLOG(XYLOG_SEVERITY_INFO, "AI Enabled"); XYLOG(XYLOG_SEVERITY_INFO, "AI Enabled");
ncnn_init();
std::string paramFile = m_appPath + (APP_PATH_RECOG_PARAM); std::string paramFile = m_appPath + (APP_PATH_RECOG_PARAM);
std::string binFile = m_appPath + (APP_PATH_RECOG_BIN); std::string binFile = m_appPath + (APP_PATH_RECOG_BIN);
if (existsFile(paramFile) || !existsFile(binFile))
{
XYLOG(XYLOG_SEVERITY_WARNING, "AI Config Files are invalid");
}
else
{
ncnn_init();
mAIInitialized = true;
bool res = YoloV5Ncnn_Init(paramFile, binFile); bool res = YoloV5Ncnn_Init(paramFile, binFile);
if (res) if (res)
{ {
@ -278,6 +290,7 @@ void CPhoneDevice::SetRecognizationCfg(const IDevice::CFG_RECOGNIZATION* pRecogn
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN"); XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN");
} }
} }
}
else else
{ {
XYLOG(XYLOG_SEVERITY_WARNING, "AI Disabled"); XYLOG(XYLOG_SEVERITY_WARNING, "AI Disabled");

@ -296,6 +296,7 @@ protected:
vector<IDevice::OSD_INFO> mOsds; vector<IDevice::OSD_INFO> mOsds;
IListener* m_listener; IListener* m_listener;
const CFG_RECOGNIZATION* m_pRecognizationCfg; const CFG_RECOGNIZATION* m_pRecognizationCfg;
bool mAIInitialized;
unsigned int mNetId; unsigned int mNetId;
unsigned int mVersionCode; unsigned int mVersionCode;
time_t mBuildTime; time_t mBuildTime;

@ -30,4 +30,5 @@ coreroot=D:/Workspace/Github/xymp/xymp/Core
asioroot=D:/Workspace/deps/asio-1.28.0 asioroot=D:/Workspace/deps/asio-1.28.0
evpproot=D:/Workspace/Github/evpp evpproot=D:/Workspace/Github/evpp
ncnnroot=D:/Workspace/deps/ncnn-20240410-android-vulkan ncnnroot=D:/Workspace/deps/ncnn-20240410-android-vulkan
# ncnnroot=D:/Workspace/deps/ncnn-20230517-android-vulkan
libzipsdkroot=D:/Workspace/deps/libzip-android-sdk libzipsdkroot=D:/Workspace/deps/libzip-android-sdk

Loading…
Cancel
Save