aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdecoder_lib.cpp
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2018-05-04 17:25:53 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-05-04 17:25:53 -0700
commit259a3c5bd5eb9be666f40dfb2978502533dd2b82 (patch)
tree8bf6f33f28355cd7dd6c4f5a01c5324a43ec66bc /libAACdec/src/aacdecoder_lib.cpp
parentdf390e34924dd8ccf7d16f5f4781f9da523e225e (diff)
parent9ab67882eca7454dc001e158bc1e6e2219d6650b (diff)
downloadfdk-aac-259a3c5bd5eb9be666f40dfb2978502533dd2b82.tar.gz
fdk-aac-259a3c5bd5eb9be666f40dfb2978502533dd2b82.tar.bz2
fdk-aac-259a3c5bd5eb9be666f40dfb2978502533dd2b82.zip
FDKv2 additional fixes
am: 9ab67882ec Change-Id: Ia2ecfc503d1c2a429ad1c7dd5103263c02691a56
Diffstat (limited to 'libAACdec/src/aacdecoder_lib.cpp')
-rw-r--r--libAACdec/src/aacdecoder_lib.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp
index b7ea8df..e62d187 100644
--- a/libAACdec/src/aacdecoder_lib.cpp
+++ b/libAACdec/src/aacdecoder_lib.cpp
@@ -396,7 +396,8 @@ static INT aacDecoder_SscCallback(void *handle, HANDLE_FDK_BITSTREAM hBs,
/* MPS found but invalid or not decodable by this instance */
hAacDecoder->mpsEnableCurr = 0;
hAacDecoder->mpsApplicable = 0;
- if ((coreCodec == AOT_USAC) || IS_LOWDELAY(coreCodec)) {
+ if ((coreCodec == AOT_USAC) || (coreCodec == AOT_DRM_USAC) ||
+ IS_LOWDELAY(coreCodec)) {
errTp = TRANSPORTDEC_PARSE_ERROR;
} else {
errTp = TRANSPORTDEC_OK;
@@ -1654,14 +1655,14 @@ aacDecoder_DecodeFrame(HANDLE_AACDECODER self, INT_PCM *pTimeData_extern,
self->streamInfo.frameSize;
for (ch = 0; ch < self->streamInfo.numChannels; ch++) {
- int mapValue = FDK_chMapDescr_getMapValue(
+ UCHAR mapValue = FDK_chMapDescr_getMapValue(
&self->mapDescr, (UCHAR)ch, self->chMapIndex);
- reverseInChannelMap[mapValue] = ch;
+ if (mapValue < (8)) reverseInChannelMap[mapValue] = ch;
}
for (ch = 0; ch < (int)numDrcOutChannels; ch++) {
- int mapValue = FDK_chMapDescr_getMapValue(
+ UCHAR mapValue = FDK_chMapDescr_getMapValue(
&self->mapDescr, (UCHAR)ch, numDrcOutChannels);
- reverseOutChannelMap[mapValue] = ch;
+ if (mapValue < (8)) reverseOutChannelMap[mapValue] = ch;
}
/* The output of SBR and MPS is interleaved. Deinterleaving may be