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;
m_listener = NULL;
m_pRecognizationCfg = NULL;
mAIInitialized = false;
mHeartbeatStartTime = 0;
mHeartbeatDuration = 0;
m_javaService = NULL;
@ -249,7 +250,10 @@ CPhoneDevice::~CPhoneDevice()
if (m_pRecognizationCfg != NULL)
{
ncnn_uninit();
if (mAIInitialized)
{
ncnn_uninit();
}
m_pRecognizationCfg = NULL;
}
}
@ -265,17 +269,26 @@ void CPhoneDevice::SetRecognizationCfg(const IDevice::CFG_RECOGNIZATION* pRecogn
{
// TODO
XYLOG(XYLOG_SEVERITY_INFO, "AI Enabled");
ncnn_init();
std::string paramFile = m_appPath + (APP_PATH_RECOG_PARAM);
std::string binFile = m_appPath + (APP_PATH_RECOG_BIN);
bool res = YoloV5Ncnn_Init(paramFile, binFile);
if (res)
if (existsFile(paramFile) || !existsFile(binFile))
{
XYLOG(XYLOG_SEVERITY_INFO, "Succeeded to Init NCNN");
XYLOG(XYLOG_SEVERITY_WARNING, "AI Config Files are invalid");
}
else
{
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN");
ncnn_init();
mAIInitialized = true;
bool res = YoloV5Ncnn_Init(paramFile, binFile);
if (res)
{
XYLOG(XYLOG_SEVERITY_INFO, "Succeeded to Init NCNN");
}
else
{
XYLOG(XYLOG_SEVERITY_ERROR, "Failed to Init NCNN");
}
}
}
else

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

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

Loading…
Cancel
Save