aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdecoder_lib.cpp
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-05-06 07:23:21 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-05-06 07:23:21 +0000
commit2fd44f2027f15c5e141f05245819bf424a44cfa1 (patch)
tree8bf6f33f28355cd7dd6c4f5a01c5324a43ec66bc /libAACdec/src/aacdecoder_lib.cpp
parentfa5ad13b3761cc0d4cfe3780944eed80fb52d842 (diff)
parent9ab67882eca7454dc001e158bc1e6e2219d6650b (diff)
downloadfdk-aac-2fd44f2027f15c5e141f05245819bf424a44cfa1.tar.gz
fdk-aac-2fd44f2027f15c5e141f05245819bf424a44cfa1.tar.bz2
fdk-aac-2fd44f2027f15c5e141f05245819bf424a44cfa1.zip
Snap for 4765094 from 9ab67882eca7454dc001e158bc1e6e2219d6650b to pi-release
Change-Id: Iecf0e5905c400a1b43555619b5bf7e1823f15f48
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