Loading media/libstagefright/ACodec.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -1310,7 +1310,7 @@ status_t ACodec::allocateOutputMetadataBuffers() { OMX_U32 bufferCount, bufferSize, minUndequeuedBuffers; status_t err = configureOutputBuffersFromNativeWindow( &bufferCount, &bufferSize, &minUndequeuedBuffers, false /* preregister */); mFlags & kFlagPreregisterMetadataBuffers /* preregister */); if (err != OK) return err; mNumUndequeuedBuffers = minUndequeuedBuffers; Loading Loading @@ -1896,6 +1896,19 @@ status_t ACodec::configureCodec( setPortMode(kPortIndexInput, IOMX::kPortModePresetByteBuffer); err = OK; // ignore error for now } OMX_INDEXTYPE index; if (mOMXNode->getExtensionIndex( "OMX.google.android.index.preregisterMetadataBuffers", &index) == OK) { OMX_CONFIG_BOOLEANTYPE param; InitOMXParams(¶m); param.bEnabled = OMX_FALSE; if (mOMXNode->getParameter(index, ¶m, sizeof(param)) == OK) { if (param.bEnabled == OMX_TRUE) { mFlags |= kFlagPreregisterMetadataBuffers; } } } } if (haveNativeWindow) { sp<ANativeWindow> nativeWindow = Loading media/libstagefright/include/media/stagefright/ACodec.h +1 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ private: kFlagIsSecure = 1, kFlagPushBlankBuffersToNativeWindowOnShutdown = 2, kFlagIsGrallocUsageProtected = 4, kFlagPreregisterMetadataBuffers = 8, }; enum { Loading Loading
media/libstagefright/ACodec.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -1310,7 +1310,7 @@ status_t ACodec::allocateOutputMetadataBuffers() { OMX_U32 bufferCount, bufferSize, minUndequeuedBuffers; status_t err = configureOutputBuffersFromNativeWindow( &bufferCount, &bufferSize, &minUndequeuedBuffers, false /* preregister */); mFlags & kFlagPreregisterMetadataBuffers /* preregister */); if (err != OK) return err; mNumUndequeuedBuffers = minUndequeuedBuffers; Loading Loading @@ -1896,6 +1896,19 @@ status_t ACodec::configureCodec( setPortMode(kPortIndexInput, IOMX::kPortModePresetByteBuffer); err = OK; // ignore error for now } OMX_INDEXTYPE index; if (mOMXNode->getExtensionIndex( "OMX.google.android.index.preregisterMetadataBuffers", &index) == OK) { OMX_CONFIG_BOOLEANTYPE param; InitOMXParams(¶m); param.bEnabled = OMX_FALSE; if (mOMXNode->getParameter(index, ¶m, sizeof(param)) == OK) { if (param.bEnabled == OMX_TRUE) { mFlags |= kFlagPreregisterMetadataBuffers; } } } } if (haveNativeWindow) { sp<ANativeWindow> nativeWindow = Loading
media/libstagefright/include/media/stagefright/ACodec.h +1 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ private: kFlagIsSecure = 1, kFlagPushBlankBuffersToNativeWindowOnShutdown = 2, kFlagIsGrallocUsageProtected = 4, kFlagPreregisterMetadataBuffers = 8, }; enum { Loading