pVideoEnc->pMFCEncOutputBuffer[i] = (CODEC_ENC_BUFFER *)Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
+ if (!pVideoEnc->pMFCEncOutputBuffer[i]) {
+ ret = OMX_ErrorInsufficientResources;
+ goto ALLOC_FAILED;
+ }
+
if (pOutbufOps->Get_Buffer) {
if (pOutbufOps->Get_Buffer(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, i, &pBuffer) != VIDEO_ERROR_NONE) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to get Output buffer info");
FunctionOut();
return ret;
+
+ALLOC_FAILED:
+ for (i = 0; i < MFC_OUTPUT_BUFFER_NUM_MAX; i++) {
+ if (pVideoEnc->pMFCEncOutputBuffer[i])
+ Exynos_OSAL_Free(pVideoEnc->pMFCEncOutputBuffer[i]);
+ }
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate buffers");
+
+ FunctionOut();
+ return ret;
}
OMX_ERRORTYPE Exynos_Mpeg4Enc_GetParameter(