diff options
author | xiao <fengx.xiao@intel.com> | 2012-02-02 13:23:13 +0800 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:03:38 -0700 |
commit | 57fbad335bcd1fc0b12cea2e58586015cec7b571 (patch) | |
tree | d9979d60b793ec7082da2e74a84e81378c3385d9 | |
parent | 25a87f280c966b01394e415a2b51b8b18ef5ba27 (diff) | |
download | wrs_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.h | 3 | ||||
-rw-r--r-- | base/src/componentbase.cpp | 7 |
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 */ |