OMX encode component has problem on "idle->execute->idle state change" without input...
authorSeungBeom Kim <sbcrux.kim@samsung.com>
Fri, 12 Oct 2012 19:36:12 +0000 (12:36 -0700)
committerJames Dong <jdong@google.com>
Tue, 16 Oct 2012 01:15:56 +0000 (18:15 -0700)
This patch fixes the state change (Execute to Idle) bug.

related-to-bug: 7336622

Change-Id: Ied1891cbbd73c26ae635d094ab9eb043ba8ce2d6
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c

index 8f2e926c6a11dfc028ef2c920611673529dda6c8..b3b2eb90f80326214e1eeb91d961d27551b74975 100644 (file)
@@ -662,7 +662,8 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
                 (!CHECK_PORT_BEING_FLUSHED(exynosInputPort))) {
                 ret = Exynos_InputBufferGetQueue(pExynosComponent);
 #ifdef USE_METADATABUFFERTYPE
-                if (pVideoEnc->bFirstInput == OMX_TRUE) {
+                if ((pVideoEnc->bFirstInput == OMX_TRUE) &&
+                    (!CHECK_PORT_BEING_FLUSHED(exynosInputPort))) {
                     Exynos_OMX_ExtensionSetup(hComponent);
                     pVideoEnc->bFirstInput = OMX_FALSE;
                 }