omx: basecomponent: signal abendStateEvent if componentInit fails
authorDima Zavin <dima@android.com>
Thu, 8 Nov 2012 22:30:43 +0000 (14:30 -0800)
committerDima Zavin <dima@android.com>
Thu, 15 Nov 2012 18:58:13 +0000 (10:58 -0800)
Bug: 7261738
Change-Id: I1baf82b37120207de9f757a66e76185e68a81b80
Signed-off-by: Dima Zavin <dima@android.com>
exynos_omx/openmax/exynos_omx/component/common/Exynos_OMX_Basecomponent.c

index f9769eff0ccb39f9bcfeb9984f90c88780cfd907..fac8d52b9e9a2665b3aa1ac1496d6ff1f0d2366a 100644 (file)
@@ -201,7 +201,7 @@ OMX_ERRORTYPE Exynos_OMX_ComponentStateSet(OMX_COMPONENTTYPE *pOMXComponent, OMX
         Exynos_OMX_Release_Resource(pOMXComponent);
     }
 
-    Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "destState: %d", destState);
+    Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "destState: %d currentState: %d", destState, currentState);
     switch (destState) {
     case OMX_StateInvalid:
         switch (currentState) {
@@ -357,6 +357,8 @@ OMX_ERRORTYPE Exynos_OMX_ComponentStateSet(OMX_COMPONENTTYPE *pOMXComponent, OMX
                 /*
                  * if (CHECK_PORT_TUNNELED == OMX_TRUE) thenTunnel Buffer Free
                  */
+                Exynos_OSAL_SignalSet(pExynosComponent->abendStateEvent);
+                Exynos_OMX_Release_Resource(pOMXComponent);
                 goto EXIT;
             }
             if (pExynosComponent->bMultiThreadProcess == OMX_FALSE) {