From 4bd53397229c707fc477409c4d3b52cc5aed5695 Mon Sep 17 00:00:00 2001 From: Tyler Luu Date: Mon, 26 Mar 2012 19:42:52 -0500 Subject: domx: fixes for reprocessing 1. For OMX_TI_IndexUseNativeBuffers, properly set gralloc usage for false case. If client set this index to true, a subsequent set to false was not being handled causing domx to misintrepret handles. 2. For OMX_TI_IndexUseBufferDescriptor, RPC SetParameters needs to be called so Ducati also knows about the descriptor. This index was previously only being handled internally. Change-Id: I928dda6d5ae9b76682c3b60dce4375a1accf09e4 Signed-off-by: Tyler Luu --- domx/omx_proxy_common/src/omx_proxy_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/domx/omx_proxy_common/src/omx_proxy_common.c b/domx/omx_proxy_common/src/omx_proxy_common.c index 90c6108..1ca7370 100644 --- a/domx/omx_proxy_common/src/omx_proxy_common.c +++ b/domx/omx_proxy_common/src/omx_proxy_common.c @@ -1223,7 +1223,13 @@ OMX_ERRORTYPE __PROXY_SetParameter(OMX_IN OMX_HANDLETYPE hComponent, { pCompPrv->proxyPortBuffers[pParamNativeBuffer->nPortIndex].proxyBufferType = GrallocPointers; pCompPrv->proxyPortBuffers[pParamNativeBuffer->nPortIndex].IsBuffer2D = OMX_TRUE; + } else + { + /* Reset to defaults */ + pCompPrv->proxyPortBuffers[pParamNativeBuffer->nPortIndex].proxyBufferType = VirtualPointers; + pCompPrv->proxyPortBuffers[pParamNativeBuffer->nPortIndex].IsBuffer2D = OMX_FALSE; } + break; } #endif @@ -1243,6 +1249,9 @@ OMX_ERRORTYPE __PROXY_SetParameter(OMX_IN OMX_HANDLETYPE hComponent, pCompPrv->proxyPortBuffers[ptBufDescParam->nPortIndex].proxyBufferType = VirtualPointers; pCompPrv->proxyPortBuffers[ptBufDescParam->nPortIndex].IsBuffer2D = OMX_FALSE; } + eRPCError = + RPC_SetParameter(pCompPrv->hRemoteComp, nParamIndex, pParamStruct, + pLocBufNeedMap, nNumOfLocalBuf, &eCompReturn); break; default: eRPCError = -- cgit v1.2.3