diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2018-08-15 14:33:56 +0200 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-10-20 00:17:00 +0000 |
commit | 0e5db9fee912d367a572b88f0d86f9a33006fa29 (patch) | |
tree | 1eb0ae9907cf12e3d5a60c85d1f4596f4b79b8d6 /libAACdec | |
parent | ce97e7d55e1f69683b5bc8f19cc8da8c85bc2cd4 (diff) | |
download | fdk-aac-0e5db9fee912d367a572b88f0d86f9a33006fa29.tar.gz fdk-aac-0e5db9fee912d367a572b88f0d86f9a33006fa29.tar.bz2 fdk-aac-0e5db9fee912d367a572b88f0d86f9a33006fa29.zip |
Unify audio element loop abort criterion in ER syntax
Bug: 112891548
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Iea56cf804cfb9d396810124c718fc91bdff68392
(cherry picked from commit f2bc07da2ed70eb069f3faab1179c4c89792bf3d)
Diffstat (limited to 'libAACdec')
-rw-r--r-- | libAACdec/src/aacdecoder.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libAACdec/src/aacdecoder.cpp b/libAACdec/src/aacdecoder.cpp index fab30de..24907ee 100644 --- a/libAACdec/src/aacdecoder.cpp +++ b/libAACdec/src/aacdecoder.cpp @@ -2047,17 +2047,12 @@ CAacDecoder_Init(HANDLE_AACDECODER self, const CSAudioSpecificConfig *asc, if (self->flags[streamIndex] & (AC_RSV603DA | AC_USAC)) { _numElements = (int)asc->m_sc.m_usacConfig.m_usacNumElements; } - if (self->flags[streamIndex] & (AC_ER | AC_LD | AC_ELD)) { - _numElements = (asc->m_channelConfiguration == 7) - ? 8 - : asc->m_channelConfiguration; - } for (int _el = 0; _el < _numElements; _el++) { int el_channels = 0; int el = elementOffset + _el; if (self->flags[streamIndex] & - (AC_ELD | AC_RSV603DA | AC_USAC | AC_RSVD50)) { + (AC_ER | AC_LD | AC_ELD | AC_RSV603DA | AC_USAC | AC_RSVD50)) { if (ch >= ascChannels) { break; } @@ -2107,7 +2102,9 @@ CAacDecoder_Init(HANDLE_AACDECODER self, const CSAudioSpecificConfig *asc, (SPECTRAL_PTR)&self->workBufferCore2[ch * 1024]; if (el_channels == 2) { - FDK_ASSERT(ch < (8) - 1); + if (ch >= (8) - 1) { + return AAC_DEC_UNSUPPORTED_CHANNELCONFIG; + } self->pAacDecoderChannelInfo[ch + 1]->pComData = self->pAacDecoderChannelInfo[ch]->pComData; self->pAacDecoderChannelInfo[ch + 1]->pComStaticData = |