From d6c7520eb91e7e825cf9a9e669e51fda5e037525 Mon Sep 17 00:00:00 2001 From: fxiao4X Date: Wed, 30 May 2012 13:27:20 +0800 Subject: [PORT FROM R3]Add native buffer mode param checking BZ: 38732 If param->enable is false, the component won't enable native buffer mode Change-Id: Icba5ae45ab40aff16b0b390ca2a3269406333eca Signed-off-by: fxiao4X Reviewed-on: http://android.intel.com:8080/50597 Reviewed-by: Ding, Haitao Tested-by: Ding, Haitao Reviewed-by: buildbot Tested-by: buildbot --- videocodec/OMXVideoDecoderBase.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'videocodec/OMXVideoDecoderBase.cpp') diff --git a/videocodec/OMXVideoDecoderBase.cpp b/videocodec/OMXVideoDecoderBase.cpp index f82fa05..6b66421 100755 --- a/videocodec/OMXVideoDecoderBase.cpp +++ b/videocodec/OMXVideoDecoderBase.cpp @@ -277,12 +277,13 @@ OMX_ERRORTYPE OMXVideoDecoderBase::ProcessorPreFreeBuffer(OMX_U32 nPortIndex, OM if (mNativeBufferMode && buffer->nOutputPortIndex == OUTPORT_INDEX){ Decode_Status status; if(mVideoDecoder == NULL){ - LOGE("PreProcessBuffer: Video decoder is not created"); + LOGW("ProcessorPreFillBuffer: Video decoder is not created"); return OMX_ErrorDynamicResourcesUnavailable; } status = mVideoDecoder->signalRenderDone(buffer->pBuffer); if (status != DECODE_SUCCESS) { + LOGW("ProcessorPreFillBuffer:: signalRenderDone return error"); return TranslateDecodeStatus(status); } } else if (buffer->pPlatformPrivate && buffer->nOutputPortIndex == OUTPORT_INDEX){ @@ -746,7 +747,16 @@ OMX_ERRORTYPE OMXVideoDecoderBase::GetNativeBufferMode(OMX_PTR pStructure) { OMX_ERRORTYPE OMXVideoDecoderBase::SetNativeBufferMode(OMX_PTR pStructure) { OMX_ERRORTYPE ret; + EnableAndroidNativeBuffersParams *param = (EnableAndroidNativeBuffersParams*)pStructure; + + CHECK_TYPE_HEADER(param); + CHECK_PORT_INDEX_RANGE(param); CHECK_SET_PARAM_STATE(); + + if (!param->enable) { + mNativeBufferMode = false; + return OMX_ErrorNone; + } mNativeBufferMode = true; PortVideo *port = NULL; port = static_cast(this->ports[OUTPORT_INDEX]); -- cgit v1.2.3