diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-01-23 10:42:05 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-01-23 10:42:05 +0000 |
commit | e44274899b207cd2b339e0bf8f8b6128dc3642b1 (patch) | |
tree | 53a6c4d56eadbbdf32871b4aef7377eccb972370 | |
parent | e140742db50a2d89414c1d787fc36043cefec932 (diff) | |
parent | fbe63c821e6e252106dbd604f39501bfaf2f01a9 (diff) | |
download | av-android14-platform-release.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/25061619', 'googleplex-android-review.googlesource.com/25545533', 'googleplex-android-review.googlesource.com/25575421'] into udc-platform-release.android-platform-14.0.0_r7android-platform-14.0.0_r6android-platform-14.0.0_r5android14-platform-release
Change-Id: I58cbbfd4db8a3b1e0d796e31362e5d76cd56c596
5 files changed, 42 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp b/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp index a4b3e2f434..14c3fa0875 100644 --- a/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp +++ b/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp @@ -312,8 +312,11 @@ void SoftMPEG4::onQueueFilled(OMX_U32 /* portIndex */) { outHeader->nFilledLen = frameSize; List<BufferInfo *>::iterator it = outQueue.begin(); - while ((*it)->mHeader != outHeader) { - ++it; + while (it != outQueue.end() && (*it)->mHeader != outHeader) { + ++it; + } + if (it == outQueue.end()) { + return; } BufferInfo *outInfo = *it; diff --git a/media/libstagefright/codecs/on2/enc/SoftVP8Encoder.cpp b/media/libstagefright/codecs/on2/enc/SoftVP8Encoder.cpp index 04737a9ccf..9198b7c327 100644 --- a/media/libstagefright/codecs/on2/enc/SoftVP8Encoder.cpp +++ b/media/libstagefright/codecs/on2/enc/SoftVP8Encoder.cpp @@ -120,6 +120,11 @@ OMX_ERRORTYPE SoftVP8Encoder::internalSetParameter(OMX_INDEXTYPE index, OMX_ERRORTYPE SoftVP8Encoder::internalGetVp8Params( OMX_VIDEO_PARAM_VP8TYPE* vp8Params) { + if (!isValidOMXParam(vp8Params)) { + android_errorWriteLog(0x534e4554, "273936274"); + return OMX_ErrorBadParameter; + } + if (vp8Params->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } @@ -133,6 +138,11 @@ OMX_ERRORTYPE SoftVP8Encoder::internalGetVp8Params( OMX_ERRORTYPE SoftVP8Encoder::internalSetVp8Params( const OMX_VIDEO_PARAM_VP8TYPE* vp8Params) { + if (!isValidOMXParam(vp8Params)) { + android_errorWriteLog(0x534e4554, "273937171"); + return OMX_ErrorBadParameter; + } + if (vp8Params->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } diff --git a/media/libstagefright/codecs/on2/enc/SoftVP9Encoder.cpp b/media/libstagefright/codecs/on2/enc/SoftVP9Encoder.cpp index 1ea1c85f76..f8495c2da4 100644 --- a/media/libstagefright/codecs/on2/enc/SoftVP9Encoder.cpp +++ b/media/libstagefright/codecs/on2/enc/SoftVP9Encoder.cpp @@ -119,6 +119,11 @@ OMX_ERRORTYPE SoftVP9Encoder::internalSetParameter( OMX_ERRORTYPE SoftVP9Encoder::internalGetVp9Params( OMX_VIDEO_PARAM_VP9TYPE *vp9Params) { + if (!isValidOMXParam(vp9Params)) { + android_errorWriteLog(0x534e4554, "273936553"); + return OMX_ErrorBadParameter; + } + if (vp9Params->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } @@ -133,6 +138,11 @@ OMX_ERRORTYPE SoftVP9Encoder::internalGetVp9Params( OMX_ERRORTYPE SoftVP9Encoder::internalSetVp9Params( const OMX_VIDEO_PARAM_VP9TYPE *vp9Params) { + if (!isValidOMXParam(vp9Params)) { + android_errorWriteLog(0x534e4554, "273937136"); + return OMX_ErrorBadParameter; + } + if (vp9Params->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } diff --git a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp index e9b4341458..cbedb723ed 100644 --- a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp +++ b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp @@ -485,6 +485,11 @@ OMX_ERRORTYPE SoftVPXEncoder::internalSetBitrateParams( OMX_ERRORTYPE SoftVPXEncoder::internalGetAndroidVpxParams( OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE *vpxAndroidParams) { + if (!isValidOMXParam(vpxAndroidParams)) { + android_errorWriteLog(0x534e4554, "273936601"); + return OMX_ErrorBadParameter; + } + if (vpxAndroidParams->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } @@ -501,6 +506,10 @@ OMX_ERRORTYPE SoftVPXEncoder::internalGetAndroidVpxParams( OMX_ERRORTYPE SoftVPXEncoder::internalSetAndroidVpxParams( const OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE *vpxAndroidParams) { + if (!isValidOMXParam(vpxAndroidParams)) { + android_errorWriteLog(0x534e4554, "273937551"); + return OMX_ErrorBadParameter; + } if (vpxAndroidParams->nPortIndex != kOutputPortIndex) { return OMX_ErrorUnsupportedIndex; } diff --git a/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp b/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp index e853da9763..418302389d 100644 --- a/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp +++ b/media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp @@ -616,6 +616,10 @@ OMX_ERRORTYPE SoftVideoDecoderOMXComponent::getConfig( DescribeHDR10PlusInfoParams* outParams = (DescribeHDR10PlusInfoParams *)params; + if (!isValidOMXParam(outParams)) { + return OMX_ErrorBadParameter; + } + outParams->nParamSizeUsed = info->size(); // If the buffer provided by the client does not have enough @@ -694,6 +698,10 @@ OMX_ERRORTYPE SoftVideoDecoderOMXComponent::internalSetConfig( const DescribeHDR10PlusInfoParams* inParams = (DescribeHDR10PlusInfoParams *)params; + if (!isValidOMXParam(inParams)) { + return OMX_ErrorBadParameter; + } + if (*frameConfig) { // This is a request to append to the current frame config set. // For now, we only support kDescribeHdr10PlusInfoIndex, which |