Loading media/libstagefright/omx/OMXNodeInstance.cpp +21 −0 Original line number Original line Diff line number Diff line Loading @@ -372,6 +372,8 @@ OMXNodeInstance::OMXNodeInstance( mPortMode[1] = IOMX::kPortModePresetByteBuffer; mPortMode[1] = IOMX::kPortModePresetByteBuffer; mSecureBufferType[0] = kSecureBufferTypeUnknown; mSecureBufferType[0] = kSecureBufferTypeUnknown; mSecureBufferType[1] = kSecureBufferTypeUnknown; mSecureBufferType[1] = kSecureBufferTypeUnknown; mGraphicBufferEnabled[0] = false; mGraphicBufferEnabled[1] = false; mIsSecure = AString(name).endsWith(".secure"); mIsSecure = AString(name).endsWith(".secure"); mLegacyAdaptiveExperiment = ADebug::isExperimentEnabled("legacy-adaptive"); mLegacyAdaptiveExperiment = ADebug::isExperimentEnabled("legacy-adaptive"); } } Loading Loading @@ -808,6 +810,12 @@ status_t OMXNodeInstance::enableNativeBuffers_l( } else if (mSecureBufferType[portIndex] == kSecureBufferTypeUnknown) { } else if (mSecureBufferType[portIndex] == kSecureBufferTypeUnknown) { mSecureBufferType[portIndex] = kSecureBufferTypeOpaque; mSecureBufferType[portIndex] = kSecureBufferTypeOpaque; } } } else { if (err == OMX_ErrorNone) { mGraphicBufferEnabled[portIndex] = enable; } else if (enable) { mGraphicBufferEnabled[portIndex] = false; } } } } else { } else { CLOG_ERROR_IF(enable, getExtensionIndex, err, "%s", name); CLOG_ERROR_IF(enable, getExtensionIndex, err, "%s", name); Loading Loading @@ -1076,6 +1084,12 @@ status_t OMXNodeInstance::useBuffer_l( OMX_ERRORTYPE err = OMX_ErrorNone; OMX_ERRORTYPE err = OMX_ErrorNone; bool isMetadata = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; bool isMetadata = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; if (!isMetadata && mGraphicBufferEnabled[portIndex]) { ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } size_t paramsSize; size_t paramsSize; void* paramsPointer; void* paramsPointer; if (params != NULL && hParams != NULL) { if (params != NULL && hParams != NULL) { Loading Loading @@ -1261,6 +1275,13 @@ status_t OMXNodeInstance::useGraphicBuffer_l( portIndex, graphicBuffer, buffer); portIndex, graphicBuffer, buffer); } } if (!mGraphicBufferEnabled[portIndex]) { // 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. // See if the newer version of the extension is present. OMX_INDEXTYPE index; OMX_INDEXTYPE index; if (OMX_GetExtensionIndex( if (OMX_GetExtensionIndex( Loading media/libstagefright/omx/include/media/stagefright/omx/OMXNodeInstance.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -152,7 +152,7 @@ private: bool mLegacyAdaptiveExperiment; bool mLegacyAdaptiveExperiment; IOMX::PortMode mPortMode[2]; IOMX::PortMode mPortMode[2]; // metadata and secure buffer type tracking // metadata and secure buffer types and graphic buffer mode tracking MetadataBufferType mMetadataType[2]; MetadataBufferType mMetadataType[2]; enum SecureBufferType { enum SecureBufferType { kSecureBufferTypeUnknown, kSecureBufferTypeUnknown, Loading @@ -160,6 +160,7 @@ private: kSecureBufferTypeNativeHandle, kSecureBufferTypeNativeHandle, }; }; SecureBufferType mSecureBufferType[2]; SecureBufferType mSecureBufferType[2]; bool mGraphicBufferEnabled[2]; // Following are OMX parameters managed by us (instead of the component) // Following are OMX parameters managed by us (instead of the component) // OMX_IndexParamMaxFrameDurationForBitrateControl // OMX_IndexParamMaxFrameDurationForBitrateControl Loading Loading
media/libstagefright/omx/OMXNodeInstance.cpp +21 −0 Original line number Original line Diff line number Diff line Loading @@ -372,6 +372,8 @@ OMXNodeInstance::OMXNodeInstance( mPortMode[1] = IOMX::kPortModePresetByteBuffer; mPortMode[1] = IOMX::kPortModePresetByteBuffer; mSecureBufferType[0] = kSecureBufferTypeUnknown; mSecureBufferType[0] = kSecureBufferTypeUnknown; mSecureBufferType[1] = kSecureBufferTypeUnknown; mSecureBufferType[1] = kSecureBufferTypeUnknown; mGraphicBufferEnabled[0] = false; mGraphicBufferEnabled[1] = false; mIsSecure = AString(name).endsWith(".secure"); mIsSecure = AString(name).endsWith(".secure"); mLegacyAdaptiveExperiment = ADebug::isExperimentEnabled("legacy-adaptive"); mLegacyAdaptiveExperiment = ADebug::isExperimentEnabled("legacy-adaptive"); } } Loading Loading @@ -808,6 +810,12 @@ status_t OMXNodeInstance::enableNativeBuffers_l( } else if (mSecureBufferType[portIndex] == kSecureBufferTypeUnknown) { } else if (mSecureBufferType[portIndex] == kSecureBufferTypeUnknown) { mSecureBufferType[portIndex] = kSecureBufferTypeOpaque; mSecureBufferType[portIndex] = kSecureBufferTypeOpaque; } } } else { if (err == OMX_ErrorNone) { mGraphicBufferEnabled[portIndex] = enable; } else if (enable) { mGraphicBufferEnabled[portIndex] = false; } } } } else { } else { CLOG_ERROR_IF(enable, getExtensionIndex, err, "%s", name); CLOG_ERROR_IF(enable, getExtensionIndex, err, "%s", name); Loading Loading @@ -1076,6 +1084,12 @@ status_t OMXNodeInstance::useBuffer_l( OMX_ERRORTYPE err = OMX_ErrorNone; OMX_ERRORTYPE err = OMX_ErrorNone; bool isMetadata = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; bool isMetadata = mMetadataType[portIndex] != kMetadataBufferTypeInvalid; if (!isMetadata && mGraphicBufferEnabled[portIndex]) { ALOGE("b/62948670"); android_errorWriteLog(0x534e4554, "62948670"); return INVALID_OPERATION; } size_t paramsSize; size_t paramsSize; void* paramsPointer; void* paramsPointer; if (params != NULL && hParams != NULL) { if (params != NULL && hParams != NULL) { Loading Loading @@ -1261,6 +1275,13 @@ status_t OMXNodeInstance::useGraphicBuffer_l( portIndex, graphicBuffer, buffer); portIndex, graphicBuffer, buffer); } } if (!mGraphicBufferEnabled[portIndex]) { // 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. // See if the newer version of the extension is present. OMX_INDEXTYPE index; OMX_INDEXTYPE index; if (OMX_GetExtensionIndex( if (OMX_GetExtensionIndex( Loading
media/libstagefright/omx/include/media/stagefright/omx/OMXNodeInstance.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -152,7 +152,7 @@ private: bool mLegacyAdaptiveExperiment; bool mLegacyAdaptiveExperiment; IOMX::PortMode mPortMode[2]; IOMX::PortMode mPortMode[2]; // metadata and secure buffer type tracking // metadata and secure buffer types and graphic buffer mode tracking MetadataBufferType mMetadataType[2]; MetadataBufferType mMetadataType[2]; enum SecureBufferType { enum SecureBufferType { kSecureBufferTypeUnknown, kSecureBufferTypeUnknown, Loading @@ -160,6 +160,7 @@ private: kSecureBufferTypeNativeHandle, kSecureBufferTypeNativeHandle, }; }; SecureBufferType mSecureBufferType[2]; SecureBufferType mSecureBufferType[2]; bool mGraphicBufferEnabled[2]; // Following are OMX parameters managed by us (instead of the component) // Following are OMX parameters managed by us (instead of the component) // OMX_IndexParamMaxFrameDurationForBitrateControl // OMX_IndexParamMaxFrameDurationForBitrateControl Loading