aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdecoder_lib.cpp
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-12-28 18:34:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-12-28 18:34:58 +0000
commite1f4578a40f070fe5bb47eed28854436884b1d7e (patch)
treefbb39310a9e37c2d27b16b64f4fce5d7881695e6 /libAACdec/src/aacdecoder_lib.cpp
parentd4fb5f5374866cba82bab4e7a99e904875e4d092 (diff)
parentbfd912da32b1253c9020a82d5520f1754dadcfc5 (diff)
downloadfdk-aac-e1f4578a40f070fe5bb47eed28854436884b1d7e.tar.gz
fdk-aac-e1f4578a40f070fe5bb47eed28854436884b1d7e.tar.bz2
fdk-aac-e1f4578a40f070fe5bb47eed28854436884b1d7e.zip
Merge changes I6aaeef87,I9681942b,I60ac86f0,I025e943e,I75edf24b
* changes: Improve decoder robustness by storing flags and elFlags temporarily. ELD downscale factor 3 is only allowed for framesize 480. Check transportDec_OutOfBandConfig() input buffer size parameter. Evaluate and return StoreConfigAsBitstream() error state. Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC.
Diffstat (limited to 'libAACdec/src/aacdecoder_lib.cpp')
-rw-r--r--libAACdec/src/aacdecoder_lib.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp
index 4c0d347..0c13304 100644
--- a/libAACdec/src/aacdecoder_lib.cpp
+++ b/libAACdec/src/aacdecoder_lib.cpp
@@ -1179,8 +1179,10 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame(HANDLE_AACDECODER self,
aacDecoder_FreeMemCallback(self, &asc);
self->streamInfo.numChannels = 0;
/* 3) restore AudioSpecificConfig */
- transportDec_OutOfBandConfig(self->hInput, asc.config,
- (asc.configBits + 7) >> 3, 0);
+ if (asc.configBits <= (TP_USAC_MAX_CONFIG_LEN << 3)) {
+ transportDec_OutOfBandConfig(self->hInput, asc.config,
+ (asc.configBits + 7) >> 3, 0);
+ }
}
}