result r = E_SUCCESS;
int retValue = 0;
unsigned char* pImageBuffer = null;
+ Tizen::Graphics::Rectangle* pRect = null;
ClearLastResult();
{
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
{
- Tizen::Graphics::Rectangle* pRect =
+ pRect =
new (std::nothrow) Tizen::Graphics::Rectangle(__pFaceEngineInfo->g_FaceROI[i].x, __pFaceEngineInfo->g_FaceROI[i].y,
__pFaceEngineInfo->g_FaceROI[i].width, __pFaceEngineInfo->g_FaceROI[i].height);
return pDetectList.release();
CATCH:
+ if (pRect != null)
+ {
+ delete pRect;
+ }
SetLastResult(r);
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
BufferInfo bitmapInfo;
unsigned char* pImageBuffer = null;
int retValue = 0;
+ Tizen::Graphics::Rectangle* pRect = null;
ClearLastResult();
{
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
{
- Tizen::Graphics::Rectangle* pRect =
+ //The null assingment is to avoid possible memory leak
+ pRect = null;
+ pRect =
new (std::nothrow) Tizen::Graphics::Rectangle(__pFaceEngineInfo->g_FaceROI[i].x, __pFaceEngineInfo->g_FaceROI[i].y,
__pFaceEngineInfo->g_FaceROI[i].width, __pFaceEngineInfo->g_FaceROI[i].height);
return pDetectList.release();
CATCH:
- SysLogException(NID_UIX, r, "XXXX - CATCH: _FaceDetectorImpl::DetectFacesFromBitmapN");
+ if (pRect)
+ {
+ delete pRect;
+ }
ReleaseFaceEngine();
SetLastResult(r);
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
result r = E_SUCCESS;
int retValue = 0;
unsigned char* pImageBuffer = null;
+ Tizen::Graphics::Rectangle* pRect = null;
std::unique_ptr< unsigned char[] > pBuffer(new (std::nothrow) unsigned char[resolution.width * resolution.height]);
SysTryReturn(NID_UIX, pBuffer != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed."
{
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
{
- Tizen::Graphics::Rectangle* pRect =
+ //The null assingment is to avoid possible memory leak
+ pRect = null;
+ pRect =
new (std::nothrow) Tizen::Graphics::Rectangle(__pFaceEngineInfo->g_FaceROI[i].x, __pFaceEngineInfo->g_FaceROI[i].y,
__pFaceEngineInfo->g_FaceROI[i].width, __pFaceEngineInfo->g_FaceROI[i].height);
return pDetectList.release();
CATCH:
+ if (pRect)
+ {
+ delete pRect;
+ }
SetLastResult(r);
ReleaseFaceEngine();
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
int retValue = 0;
result r = E_SUCCESS;
unsigned char* pImageBuffer = null;
+ Tizen::Graphics::Rectangle* pRect = null;
ClearLastResult();
{
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
{
- Tizen::Graphics::Rectangle* pRect =
+ //The null assingment is to avoid possible memory leak
+ pRect = null;
+ pRect =
new (std::nothrow) Tizen::Graphics::Rectangle(__pFaceEngineInfo->g_FaceROI[i].x, __pFaceEngineInfo->g_FaceROI[i].y,
__pFaceEngineInfo->g_FaceROI[i].width, __pFaceEngineInfo->g_FaceROI[i].height);
ReleaseFaceEngine();
return pDetectList.release();
CATCH:
- SysLogException(NID_UIX, r, "XXXX - CATCH _FaceDetectorImpl::DetectFacesN");
+ if (pRect)
+ {
+ delete pRect;
+ }
SetLastResult(r);
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
Tizen::Graphics::Point& eyeLeft, Tizen::Graphics::Rectangle& mouthRect)
{
result r = E_SUCCESS;
- int index = -1;
int retVal = 0;
FaceEngineInfo* pFaceEngineInfo = null;
std::unique_ptr< FaceEngineInfo > pFaceEngineInfo(new (std::nothrow) FaceEngineInfo);
SysTryReturn(NID_UIX, pFaceEngineInfo != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pFaceEngineInfo = pFaceEngineInfo.release();
-
- //int retValue = caApp_FaceEngineInit(__pFaceEngineInfo, FD_MODE_ROLo_YAWo, FD_SIZE_COVERAGE_HIGH,__maxFacesImage, _FT_INTERVAL_DEFAULT);
- //SysTryReturn(NID_UIX, retValue == _FACEENGINE_INIT_SUCCESS, E_FAILURE, E_FAILURE, "[%s] Face Engine Init failed.", GetErrorMessage(E_FAILURE));
-
std::unique_ptr< _FaceUtil > pFaceUtil(new (std::nothrow) _FaceUtil);
SysTryReturn(NID_UIX, pFaceUtil != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+ __pFaceEngineInfo = pFaceEngineInfo.release();
__pFaceUtil = pFaceUtil.release();
return res;
int featureLength = 0;
unsigned char* pImageBuffer = null;
ByteBuffer buffer;
- int isValidFREngine = 0;
std::unique_ptr< FaceRecognitionInfo > pFaceInfo;
, GetErrorMessage(E_FAILURE));
}
- isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
-
- //SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
+ caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
featureLength = caApp_FtsExVecLength();
SysTryCatch(NID_UIX, featureLength > 0, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
CATCH:
SetLastResult(r);
caApp_FtsExRelease();
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
result r = E_SUCCESS;
unsigned char* pImageBuffer = null;
int retValue = 0;
- int isValidFREngine = 0;
int featureLength = 0;
std::unique_ptr< FaceRecognitionInfo > pFaceInfo;
, GetErrorMessage(E_FAILURE));
}
- isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
- //SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
+ caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
featureLength = caApp_FtsExVecLength();
SysTryCatch(NID_UIX, featureLength > 0, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
SetLastResult(r);
caApp_FtsExRelease();
ReleaseFaceEngine();
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
result r = E_SUCCESS;
unsigned char* pImageBuffer = null;
int retValue = 0;
- int isValidFREngine = 0;
int featureLength = 0;
std::unique_ptr< FaceRecognitionInfo > pFaceInfo;
, GetErrorMessage(E_FAILURE));
}
- isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
- //SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
+ caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
featureLength = caApp_FtsExVecLength();
SysTryCatch(NID_UIX, featureLength > 0, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
pFaceInfo->SetFacePosition(pRect->x, pRect->y, pRect->width, pRect->height);
+ delete pRect;
+
r = pDetectList->Add(*(pFaceInfo.release()));
SysTryCatch(NID_UIX, r == E_SUCCESS, r = E_FAILURE, r, "[%s] Failed to add the FaceRecognitionInfo.", GetErrorMessage(E_FAILURE));
-
- delete pRect;
}
caApp_FtsExRelease();
SetLastResult(r);
caApp_FtsExRelease();
ReleaseFaceEngine();
- pDetectList->RemoveAll();
+ pDetectList->RemoveAll(true);
return pDetectList.release();
}
return pDetectList.release();
CATCH:
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - CATCH _FaceRecognizerImpl::DetectBlinksFromBitmapN-");
SetLastResult(r);
ReleaseFaceEngine();
pDetectList->RemoveAll();
return pDetectList.release();
CATCH:
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - CATCH _FaceRecognizerImpl::RecognizeExpressionsFromBitmapN-");
ReleaseFaceEngine();
SetLastResult(r);
pDetectList->RemoveAll();
, GetErrorMessage(E_FAILURE));
}
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - REACH 001");
-
retValue = caApp_RunFaceDetection(pImageBuffer, resolution.width, resolution.height, __pFaceEngineInfo);
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - REACH 002 __pFaceEngineInfo->g_iFaceDetectNum = %d", __pFaceEngineInfo->g_iFaceDetectNum);
-
SysTryCatch(NID_UIX, retValue == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
, GetErrorMessage(E_FAILURE));
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
SysTryCatch(NID_UIX, retValue == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
, GetErrorMessage(E_FAILURE));
- //SysLogException(NID_UIX, E_SUCCESS, "XXXX - Entering RecognizeExpressionsFromBufferN faces= %d",__pFaceEngineInfo->g_iFaceDetectNum);
for (int i = 0; i < __pFaceEngineInfo->g_iFaceDetectNum; i++)
{
retValue = caApp_RunEyeDetection(pImageBuffer, resolution.width, resolution.height, __pFaceEngineInfo, i);
SysTryCatch(NID_UIX, retValue == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
, GetErrorMessage(E_FAILURE));
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - REACH 003");
retValue = caApp_RunMouthDetection(pImageBuffer, resolution.width, resolution.height, __pFaceEngineInfo, i);
SysTryCatch(NID_UIX, retValue == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
, GetErrorMessage(E_FAILURE));
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - REACH 004");
retValue = caApp_RunFERDetection(pImageBuffer, resolution.width, resolution.height, __pFaceEngineInfo, true);
SysTryCatch(NID_UIX, retValue == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
, GetErrorMessage(E_FAILURE));
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - REACH 005");
FacialExpression expression = FACIAL_EXPRESSION_NONE;
switch (*(__pFaceEngineInfo->g_Expression[i]))
return pDetectList.release();
CATCH:
- //SysLogException(NID_UIX, r, "XXXX -CATCH _FaceRecognizerImpl::RecognizeExpressionsFromBufferN-");
pDetectList->RemoveAll();
SetLastResult(r);
return pDetectList.release();
result r = E_SUCCESS;
int featureLength = 0;
int retValue = 0;
- int isValidFREngine = 0;
long* pFaceData = null;
FaceEngineInfo* __pFaceEngineInfoTemp = null;
SysTryReturn(NID_UIX, pBuffer != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
std::unique_ptr< FaceEngineInfo > pFaceEngineInfo(new (std::nothrow) FaceEngineInfo);
+ SysTryReturn(NID_UIX, pFaceEngineInfo != null, null, E_OUT_OF_MEMORY, "[%s] Failed to create the Buffer.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pFaceEngineInfoTemp = pFaceEngineInfo.release();
+ __pFaceEngineInfoTemp = pFaceEngineInfo.get();
+ SysTryReturn(NID_UIX, __pFaceEngineInfoTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
retValue = caApp_FaceEngineInit(__pFaceEngineInfoTemp, FD_MODE_ROLx_YAWx, FD_SIZE_COVERAGE_HIGH, __maxFacesImage, 20);
SysTryCatch(NID_UIX, retValue == _FACEENGINE_INIT_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
__pFaceEngineInfoTemp->g_EyeROI[0].rx = eyeRight.x;
__pFaceEngineInfoTemp->g_EyeROI[0].ry = eyeRight.y;
- isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
- //SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
+ caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
featureLength = caApp_FtsExVecLength();
SysTryCatch(NID_UIX, featureLength > 0, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
SysTryCatch(NID_UIX, retValue == _FACEENGINE_INIT_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to delete FaceEngine.", GetErrorMessage(E_FAILURE));
return pBuffer.release();
+
CATCH:
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - CATCH _FaceRecognizerImpl::ExtractFeatureN-");
caApp_FtsExRelease();
caApp_FaceEngineRelease(__pFaceEngineInfoTemp);
SetLastResult(r);
//Way to get the index is to loop for all rects and get the index..
std::unique_ptr< FaceEngineInfo > pFaceEngineInfo(new (std::nothrow) FaceEngineInfo);
- __pFaceEngineInfoTemp = pFaceEngineInfo.release();
+ SysTryReturn(NID_UIX, pFaceEngineInfo != null, eyeState, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+ __pFaceEngineInfoTemp = pFaceEngineInfo.get();
+ SysTryReturn(NID_UIX, __pFaceEngineInfoTemp != null, eyeState, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- caApp_FaceEngineInit(__pFaceEngineInfoTemp, FD_MODE_ROLx_YAWx, FD_SIZE_COVERAGE_HIGH, __maxFacesImage, 20);
+ retVal = caApp_FaceEngineInit(__pFaceEngineInfoTemp, FD_MODE_ROLx_YAWx, FD_SIZE_COVERAGE_HIGH,__maxFacesImage, 20);
+ SysTryCatch(NID_UIX, retVal == _FACEENGINE_INIT_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
+ , GetErrorMessage(E_FAILURE));
__pFaceEngineInfoTemp->g_FaceROI[0].x = faceRect.x;
__pFaceEngineInfoTemp->g_FaceROI[0].y = faceRect.y;
SysTryCatch(NID_UIX, retVal == _FACEENGINE_INIT_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to delete FaceEngine.", GetErrorMessage(E_FAILURE));
return eyeState;
+
CATCH:
- SysLogException(NID_UIX, E_SUCCESS, "XXXX - CATCH _FaceRecognizerImpl::DetectEyeState");
caApp_FaceEngineRelease(__pFaceEngineInfoTemp);
SetLastResult(r);
return EYE_STATE_NONE;
FaceEngineInfo* __pFaceEngineInfoTemp = null;
std::unique_ptr< FaceEngineInfo > pFaceEngineInfo(new (std::nothrow) FaceEngineInfo);
+ SysTryReturn(NID_UIX, pFaceEngineInfo != null, expression, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pFaceEngineInfoTemp = pFaceEngineInfo.release();
+ __pFaceEngineInfoTemp = pFaceEngineInfo.get();
+ SysTryReturn(NID_UIX, __pFaceEngineInfoTemp != null, expression, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- caApp_FaceEngineInit(__pFaceEngineInfoTemp, FD_MODE_ROLx_YAWx, FD_SIZE_COVERAGE_HIGH, __maxFacesImage, 20);
+ retVal = caApp_FaceEngineInit(__pFaceEngineInfoTemp, FD_MODE_ROLx_YAWx, FD_SIZE_COVERAGE_HIGH,__maxFacesImage, 20);
+ SysTryCatch(NID_UIX, retVal == _FACEENGINE_INIT_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed to create the Buffer."
+ , GetErrorMessage(E_FAILURE));
__pFaceEngineInfoTemp->g_FaceROI[0].x = faceRect.x;
__pFaceEngineInfoTemp->g_FaceROI[0].y = faceRect.y;
return expression;
CATCH:
- SysLogException(NID_UIX, E_SUCCESS, "XXXX -CATCH _FaceRecognizerImpl::RecognizeExpression");
caApp_FaceEngineRelease(__pFaceEngineInfoTemp);
SetLastResult(r);
return FACIAL_EXPRESSION_NONE;