From: Greg Hackmann Date: Mon, 10 Dec 2012 23:29:38 +0000 (-0800) Subject: omx: handle csc errors X-Git-Tag: cm-10.2-M1^2~30^2~2 X-Git-Url: https://git.stricted.de/?p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_exynos5.git;a=commitdiff_plain;h=ebd30f82ab062c98c11004e3bac3f2c703f28283 omx: handle csc errors Change-Id: I652b6edb9687ec063ec2b110c70031e821d34e7f Signed-off-by: Greg Hackmann --- diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c index f863f5c..82ef205 100644 --- a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c +++ b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c @@ -301,8 +301,6 @@ OMX_BOOL Exynos_CSC_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA } #endif - ret = OMX_TRUE; - EXIT: FunctionOut(); @@ -405,18 +403,24 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_ Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "exynos_checkInputFrame : OMX_TRUE"); if (((srcInputData->allocSize) - (srcInputData->dataLen)) >= copySize) { - Exynos_CSC_InputData(pOMXComponent, srcInputData); - - inputUseBuffer->dataLen -= copySize; - inputUseBuffer->remainDataLen -= copySize; - inputUseBuffer->usedDataLen += copySize; - - srcInputData->dataLen += copySize; - srcInputData->remainDataLen += copySize; - - srcInputData->timeStamp = inputUseBuffer->timeStamp; - srcInputData->nFlags = inputUseBuffer->nFlags; - srcInputData->bufferHeader = inputUseBuffer->bufferHeader; + ret = Exynos_CSC_InputData(pOMXComponent, srcInputData); + if (ret) { + inputUseBuffer->dataLen -= copySize; + inputUseBuffer->remainDataLen -= copySize; + inputUseBuffer->usedDataLen += copySize; + + srcInputData->dataLen += copySize; + srcInputData->remainDataLen += copySize; + + srcInputData->timeStamp = inputUseBuffer->timeStamp; + srcInputData->nFlags = inputUseBuffer->nFlags; + srcInputData->bufferHeader = inputUseBuffer->bufferHeader; + } else { + Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Exynos_CSC_InputData() failure"); + pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent, + pExynosComponent->callbackData, OMX_EventError, + OMX_ErrorUndefined, 0, NULL ); + } } else { Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "input codec buffer is smaller than decoded input data size Out Length"); pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent,