From a70a064a8d6759faf115ef454715deba09d775df Mon Sep 17 00:00:00 2001 From: Ziyan Date: Sat, 6 Feb 2016 14:03:08 +0100 Subject: domx: fix up DCC data loading when USES_LEGACY_DOMX_DCC is set The 'dcc_loaded' local static variable was never reset properly. Change-Id: Id4ceddea6153d897456e0f845f3818be5dfbae36 (cherry picked from commit 881a349f9721837f2556b6ed8214fecbf7a19f27) --- domx/omx_proxy_component/omx_camera/src/omx_proxy_camera.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/domx/omx_proxy_component/omx_camera/src/omx_proxy_camera.c b/domx/omx_proxy_component/omx_camera/src/omx_proxy_camera.c index 6d78454..16b23e0 100755 --- a/domx/omx_proxy_component/omx_camera/src/omx_proxy_camera.c +++ b/domx/omx_proxy_component/omx_camera/src/omx_proxy_camera.c @@ -83,6 +83,7 @@ int dcc_flag = 0; OMX_S32 dccbuf_size = 0; /* DCC buff accessors */ MEMPLUGIN_BUFFER_ACCESSOR sDccBuffer; +OMX_BOOL dcc_loaded = OMX_FALSE; #endif /* ===========================================================================*/ @@ -263,6 +264,7 @@ static OMX_ERRORTYPE ComponentPrivateDeInit(OMX_IN OMX_HANDLETYPE hComponent) PROXY_assert(eOsalError == TIMM_OSAL_ERR_NONE, OMX_ErrorInsufficientResources, "Mutex release failed"); } + dcc_loaded = OMX_FALSE; #endif OMX_CameraVtcFreeMemory(hComponent); @@ -298,7 +300,6 @@ static OMX_ERRORTYPE Camera_SendCommand(OMX_IN OMX_HANDLETYPE hComponent, { OMX_ERRORTYPE eError = OMX_ErrorNone, eCompReturn; #ifdef USES_LEGACY_DOMX_DCC - static OMX_BOOL dcc_loaded = OMX_FALSE; OMX_ERRORTYPE dcc_eError = OMX_ErrorNone; #endif OMX_COMPONENTTYPE *hComp = (OMX_COMPONENTTYPE *) hComponent; @@ -548,6 +549,12 @@ OMX_ERRORTYPE OMX_ComponentInit(OMX_HANDLETYPE hComponent) TIMM_OSAL_Malloc(sizeof(PROXY_COMPONENT_PRIVATE), TIMM_OSAL_TRUE, 0, TIMMOSAL_MEM_SEGMENT_INT); +#ifdef USES_LEGACY_DOMX_DCC + // Should not be needed as PrivateDeInit will set it, but resetting + // it here just in case there's some codepath that skips PrivateDeInit. + dcc_loaded = OMX_FALSE; +#endif + pComponentPrivate = (PROXY_COMPONENT_PRIVATE *) pHandle->pComponentPrivate; if (pHandle->pComponentPrivate == NULL) -- cgit v1.1