{
int i = 0;
EXYNOS_OMX_REF_HANDLE *phREF = NULL;
+ gralloc_module_t *module = NULL;
+
OMX_ERRORTYPE err = OMX_ErrorNone;
FunctionIn();
phREF->SharedBuffer[i].BufferFd2 = -1;
}
+ hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&module);
+ phREF->pGrallocModule = (OMX_PTR)module;
+
err = Exynos_OSAL_MutexCreate(&phREF->hMutex);
if (err != OMX_ErrorNone) {
Exynos_OSAL_Free(phREF);
goto EXIT;
}
- hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&module);
+ module = (gralloc_module_t *)phREF->pGrallocModule;
Exynos_OSAL_MutexLock(phREF->hMutex);
for (i = 0; i < MAX_BUFFER_REF; i++) {
Exynos_OSAL_RefANB_Reset(phREF);
+ phREF->pGrallocModule = NULL;
+
ret = Exynos_OSAL_MutexTerminate(phREF->hMutex);
if (ret != OMX_ErrorNone)
goto EXIT;
goto EXIT;
}
- hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&module);
+ module = (gralloc_module_t *)phREF->pGrallocModule;
Exynos_OSAL_MutexLock(phREF->hMutex);
goto EXIT;
}
+ module = (gralloc_module_t *)phREF->pGrallocModule;
+
Exynos_OSAL_MutexLock(phREF->hMutex);
- hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&module);
+
for (i = 0; i < MAX_BUFFER_REF; i++) {
if (phREF->SharedBuffer[i].BufferFd == BufferFd) {
ion_decRef(getIonFd(module), phREF->SharedBuffer[i].pIonHandle);