aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiao <fengx.xiao@intel.com>2012-02-02 13:23:13 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:03:38 -0700
commit57fbad335bcd1fc0b12cea2e58586015cec7b571 (patch)
treed9979d60b793ec7082da2e74a84e81378c3385d9
parent25a87f280c966b01394e415a2b51b8b18ef5ba27 (diff)
downloadwrs_omxil_core-57fbad335bcd1fc0b12cea2e58586015cec7b571.tar.gz
OMX: Porting patch from R2 to R3
BZ: 21936 Orignal patch 24451: Enhance omx_core to provide hook for omx IL components to release resource during port configuration. Change-Id: I98b26ea8243d0dc1d557d4f522094cda8413cd60 Signed-off-by: xiao <fengx.xiao@intel.com> Reviewed-on: http://android.intel.com:8080/33663 Reviewed-by: Ding, Haitao <haitao.ding@intel.com> Tested-by: Ding, Haitao <haitao.ding@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
-rw-r--r--base/inc/componentbase.h3
-rw-r--r--base/src/componentbase.cpp7
2 files changed, 10 insertions, 0 deletions
diff --git a/base/inc/componentbase.h b/base/inc/componentbase.h
index 9c34cb7..97a81d7 100644
--- a/base/inc/componentbase.h
+++ b/base/inc/componentbase.h
@@ -420,6 +420,9 @@ private:
virtual OMX_ERRORTYPE ProcessorFlush(OMX_U32 port_index); /* Flush */
virtual OMX_ERRORTYPE PreProcessBuffer(OMX_BUFFERHEADERTYPE* buffer);
virtual OMX_ERRORTYPE PreProcessBufferQueue_Locked();
+
+ /* invoked when buffer is to be freed */
+ virtual OMX_ERRORTYPE ProcessorPreFreeBuffer(OMX_U32 nPortIndex, OMX_BUFFERHEADERTYPE* pBuffer);
/* Work */
virtual OMX_ERRORTYPE ProcessorProcess(OMX_BUFFERHEADERTYPE ***pBuffers,
buffer_retain_t *retain,
diff --git a/base/src/componentbase.cpp b/base/src/componentbase.cpp
index ba10383..d605d81 100644
--- a/base/src/componentbase.cpp
+++ b/base/src/componentbase.cpp
@@ -998,6 +998,8 @@ OMX_ERRORTYPE ComponentBase::CBaseFreeBuffer(
if (!port)
return OMX_ErrorBadParameter;
+ ProcessorPreFreeBuffer(nPortIndex, pBuffer);
+
return port->FreeBuffer(nPortIndex, pBuffer);
}
@@ -2149,6 +2151,11 @@ OMX_ERRORTYPE ComponentBase::ProcessorProcess(OMX_BUFFERHEADERTYPE ***pBuffers,
return OMX_ErrorNotImplemented;
}
+OMX_ERRORTYPE ComponentBase::ProcessorPreFreeBuffer(OMX_U32 nPortIndex, OMX_BUFFERHEADERTYPE* pBuffer)
+{
+ return OMX_ErrorNone;
+
+}
/* end of processor callbacks */