Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b5f271f authored by Marco Nelissen's avatar Marco Nelissen Committed by android-build-merger
Browse files

Merge "More OMX struct checking" into mnc-dev am: 4040b13b am: 05202f57

am: ff5d1bb0

* commit 'ff5d1bb0':
  More OMX struct checking

Change-Id: Ic831540ff9a78c16e65c07dda7c6095c5171f194
parents 54355d98 ff5d1bb0
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -172,6 +172,11 @@ void SoftVideoEncoderOMXComponent::updatePortParams() {

OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalSetPortParams(
        const OMX_PARAM_PORTDEFINITIONTYPE *port) {

    if (!isValidOMXParam(port)) {
        return OMX_ErrorBadParameter;
    }

    if (port->nPortIndex == kInputPortIndex) {
        mWidth = port->format.video.nFrameWidth;
        mHeight = port->format.video.nFrameHeight;
@@ -218,6 +223,10 @@ OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalSetParameter(
            const OMX_PARAM_COMPONENTROLETYPE *roleParams =
                (const OMX_PARAM_COMPONENTROLETYPE *)param;

            if (!isValidOMXParam(roleParams)) {
                return OMX_ErrorBadParameter;
            }

            if (strncmp((const char *)roleParams->cRole,
                        mComponentRole,
                        OMX_MAX_STRINGNAME_SIZE - 1)) {
@@ -243,6 +252,10 @@ OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalSetParameter(
            const OMX_VIDEO_PARAM_PORTFORMATTYPE* format =
                (const OMX_VIDEO_PARAM_PORTFORMATTYPE *)param;

            if (!isValidOMXParam(format)) {
                return OMX_ErrorBadParameter;
            }

            if (format->nPortIndex == kInputPortIndex) {
                if (format->eColorFormat == OMX_COLOR_FormatYUV420Planar ||
                    format->eColorFormat == OMX_COLOR_FormatYUV420SemiPlanar ||
@@ -272,6 +285,10 @@ OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalSetParameter(
            const StoreMetaDataInBuffersParams *storeParam =
                (const StoreMetaDataInBuffersParams *)param;

            if (!isValidOMXParam(storeParam)) {
                return OMX_ErrorBadParameter;
            }

            if (storeParam->nPortIndex == kOutputPortIndex) {
                return storeParam->bStoreMetaData ? OMX_ErrorUnsupportedSetting : OMX_ErrorNone;
            } else if (storeParam->nPortIndex != kInputPortIndex) {
@@ -306,6 +323,10 @@ OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalGetParameter(
            OMX_VIDEO_PARAM_PORTFORMATTYPE *formatParams =
                (OMX_VIDEO_PARAM_PORTFORMATTYPE *)param;

            if (!isValidOMXParam(formatParams)) {
                return OMX_ErrorBadParameter;
            }

            if (formatParams->nPortIndex == kInputPortIndex) {
                if (formatParams->nIndex >= NELEM(kSupportedColorFormats)) {
                    return OMX_ErrorNoMore;
@@ -331,6 +352,10 @@ OMX_ERRORTYPE SoftVideoEncoderOMXComponent::internalGetParameter(
            OMX_VIDEO_PARAM_PROFILELEVELTYPE *profileLevel =
                  (OMX_VIDEO_PARAM_PROFILELEVELTYPE *) param;

            if (!isValidOMXParam(profileLevel)) {
                return OMX_ErrorBadParameter;
            }

            if (profileLevel->nPortIndex != kOutputPortIndex) {
                ALOGE("Invalid port index: %u", profileLevel->nPortIndex);
                return OMX_ErrorUnsupportedIndex;