From: Taehwan Kim Date: Mon, 29 Oct 2012 03:59:34 +0000 (+0900) Subject: vdec: fixed a problem about drop frame logic X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e3e0f61fd1fd78ddde0c9327dce02295370b64c6;p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_openmax.git vdec: fixed a problem about drop frame logic After skeeing, If not exist startup code in the first frame, can't escape the drop frame logic. Change-Id: Ia095dbdd7cc1554a15adaac91bea7eeb8b577ee7 Signed-off-by: Taehwan Kim Signed-off-by: Huisung Kang --- diff --git a/component/video/dec/Exynos_OMX_Vdec.c b/component/video/dec/Exynos_OMX_Vdec.c index 224e8f6..fb136f7 100644 --- a/component/video/dec/Exynos_OMX_Vdec.c +++ b/component/video/dec/Exynos_OMX_Vdec.c @@ -461,8 +461,16 @@ OMX_BOOL Exynos_Postprocess_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_ Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "drop frame after seeking", pExynosComponent); if (exynosOutputPort->bufferProcessType & BUFFER_SHARE) Exynos_OMX_FillThisBuffer(pOMXComponent, outputUseBuffer->bufferHeader); - ret = OMX_TRUE; - goto EXIT; + + if (pExynosComponent->checkTimeStamp.startTimeStamp < dstOutputData->timeStamp) { + pExynosComponent->checkTimeStamp.startTimeStamp = -19761123; + pExynosComponent->checkTimeStamp.nStartFlags = 0x0; + pExynosComponent->checkTimeStamp.needSetStartTimeStamp = OMX_FALSE; + pExynosComponent->checkTimeStamp.needCheckStartTimeStamp = OMX_FALSE; + } else { + ret = OMX_TRUE; + goto EXIT; + } } } else if ((pExynosComponent->checkTimeStamp.needSetStartTimeStamp == OMX_TRUE)) { ret = OMX_TRUE;