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:41:40 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-05-04 17:41:40 -0700
commitb2ce5c82bd4288b0e55d23f8cbf1d51150d752fc (patch)
tree8bf6f33f28355cd7dd6c4f5a01c5324a43ec66bc /libAACdec/src/aacdecoder_lib.cpp
parent2ef3dc81e5bfa012a5b1b7fce573fdd1b73130e8 (diff)
parent259a3c5bd5eb9be666f40dfb2978502533dd2b82 (diff)
downloadfdk-aac-b2ce5c82bd4288b0e55d23f8cbf1d51150d752fc.tar.gz
fdk-aac-b2ce5c82bd4288b0e55d23f8cbf1d51150d752fc.tar.bz2
fdk-aac-b2ce5c82bd4288b0e55d23f8cbf1d51150d752fc.zip
FDKv2 additional fixes am: 9ab67882ec
am: 259a3c5bd5 Change-Id: Iac5c03364819ea0ef7a91cccfc0b62af0b19b612
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