Loading media/libstagefright/include/OMXNodeInstance.h +1 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ private: KeyedVector<OMX::buffer_id, OMX_BUFFERHEADERTYPE *> mBufferIDToBufferHeader; KeyedVector<OMX_BUFFERHEADERTYPE *, OMX::buffer_id> mBufferHeaderToBufferID; MetadataBufferType mMetadataType[2]; bool mGraphicBufferEnabled[2]; // For debug support char *mName; Loading media/libstagefright/omx/OMXNodeInstance.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ OMXNodeInstance::OMXNodeInstance( mDebugLevelBumpPendingBuffers[1] = 0; mMetadataType[0] = kMetadataBufferTypeInvalid; mMetadataType[1] = kMetadataBufferTypeInvalid; mGraphicBufferEnabled[0] = false; mGraphicBufferEnabled[1] = false; mIsSecure = AString(name).endsWith(".secure"); } Loading Loading @@ -572,6 +574,11 @@ status_t OMXNodeInstance::enableGraphicBuffers( err = OMX_SetParameter(mHandle, index, ¶ms); CLOG_IF_ERROR(setParameter, err, "%s(%#x): %s:%u en=%d", name, index, portString(portIndex), portIndex, enable); if (err == OMX_ErrorNone) { mGraphicBufferEnabled[portIndex] = enable; } else if (enable) { mGraphicBufferEnabled[portIndex] = false; } return StatusFromOMXError(err); } Loading Loading @@ -775,6 +782,13 @@ status_t OMXNodeInstance::useBuffer( return BAD_VALUE; } if (mMetadataType[portIndex] == kMetadataBufferTypeInvalid && mGraphicBufferEnabled[portIndex]) { ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } // metadata buffers are not connected cross process BufferMeta *buffer_meta; bool isMeta = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; Loading Loading @@ -885,6 +899,13 @@ status_t OMXNodeInstance::useGraphicBuffer( OMX_U32 portIndex, const sp<GraphicBuffer>& graphicBuffer, OMX::buffer_id *buffer) { Mutex::Autolock autoLock(mLock); if (!mGraphicBufferEnabled[portIndex] || mMetadataType[portIndex] != kMetadataBufferTypeInvalid) { // Report error if this is not in graphic buffer mode. ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } // See if the newer version of the extension is present. OMX_INDEXTYPE index; Loading Loading
media/libstagefright/include/OMXNodeInstance.h +1 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ private: KeyedVector<OMX::buffer_id, OMX_BUFFERHEADERTYPE *> mBufferIDToBufferHeader; KeyedVector<OMX_BUFFERHEADERTYPE *, OMX::buffer_id> mBufferHeaderToBufferID; MetadataBufferType mMetadataType[2]; bool mGraphicBufferEnabled[2]; // For debug support char *mName; Loading
media/libstagefright/omx/OMXNodeInstance.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ OMXNodeInstance::OMXNodeInstance( mDebugLevelBumpPendingBuffers[1] = 0; mMetadataType[0] = kMetadataBufferTypeInvalid; mMetadataType[1] = kMetadataBufferTypeInvalid; mGraphicBufferEnabled[0] = false; mGraphicBufferEnabled[1] = false; mIsSecure = AString(name).endsWith(".secure"); } Loading Loading @@ -572,6 +574,11 @@ status_t OMXNodeInstance::enableGraphicBuffers( err = OMX_SetParameter(mHandle, index, ¶ms); CLOG_IF_ERROR(setParameter, err, "%s(%#x): %s:%u en=%d", name, index, portString(portIndex), portIndex, enable); if (err == OMX_ErrorNone) { mGraphicBufferEnabled[portIndex] = enable; } else if (enable) { mGraphicBufferEnabled[portIndex] = false; } return StatusFromOMXError(err); } Loading Loading @@ -775,6 +782,13 @@ status_t OMXNodeInstance::useBuffer( return BAD_VALUE; } if (mMetadataType[portIndex] == kMetadataBufferTypeInvalid && mGraphicBufferEnabled[portIndex]) { ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } // metadata buffers are not connected cross process BufferMeta *buffer_meta; bool isMeta = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; Loading Loading @@ -885,6 +899,13 @@ status_t OMXNodeInstance::useGraphicBuffer( OMX_U32 portIndex, const sp<GraphicBuffer>& graphicBuffer, OMX::buffer_id *buffer) { Mutex::Autolock autoLock(mLock); if (!mGraphicBufferEnabled[portIndex] || mMetadataType[portIndex] != kMetadataBufferTypeInvalid) { // Report error if this is not in graphic buffer mode. ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } // See if the newer version of the extension is present. OMX_INDEXTYPE index; Loading