common: added signal abendStateEvent if componentInit fails
authorTaehwan Kim <t_h.kim@samsung.com>
Mon, 12 Nov 2012 05:52:36 +0000 (05:52 +0000)
committerTaehwan Kim <t_h.kim@samsung.com>
Wed, 21 Nov 2012 01:19:40 +0000 (01:19 +0000)
This patch fixes the ANR at reset/release time,
caused by some failures in initializing component.

Change-Id: I45e560068e91fb2441a3c316a3c0f293b28b15ff
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
component/common/Exynos_OMX_Basecomponent.c

index aeb92d52c57fee4bca0c9da8af3a1d59cbe6bc7d..8785a51c06e63df5ada5bdad2552948efc050d0c 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) {
@@ -362,6 +362,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) {