aboutsummaryrefslogtreecommitdiffstats
path: root/libDRCdec/src/drcDec_reader.cpp
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-01-24 04:13:28 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-01-24 04:13:28 +0000
commit5d864894785ccf240717f78aa35e8a2b9371b62f (patch)
treee4bd2c8d1c13085e3c2babcfeb39ea867a3f596e /libDRCdec/src/drcDec_reader.cpp
parent3a6eca5c661f7e7596c39aa9e4a5c6763bbef035 (diff)
parentf04a8a855cf8ddb5996c8e191fd3fa15b3808657 (diff)
downloadfdk-aac-5d864894785ccf240717f78aa35e8a2b9371b62f.tar.gz
fdk-aac-5d864894785ccf240717f78aa35e8a2b9371b62f.tar.bz2
fdk-aac-5d864894785ccf240717f78aa35e8a2b9371b62f.zip
Snap for 6157842 from f04a8a855cf8ddb5996c8e191fd3fa15b3808657 to rvc-release
Change-Id: Icd800c3d313c30fc67595fc70baaf69b12188cd7
Diffstat (limited to 'libDRCdec/src/drcDec_reader.cpp')
-rw-r--r--libDRCdec/src/drcDec_reader.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/libDRCdec/src/drcDec_reader.cpp b/libDRCdec/src/drcDec_reader.cpp
index 9e37246..367a352 100644
--- a/libDRCdec/src/drcDec_reader.cpp
+++ b/libDRCdec/src/drcDec_reader.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -199,11 +199,8 @@ drcDec_readUniDrc(HANDLE_FDK_BITSTREAM hBs, HANDLE_UNI_DRC_CONFIG hUniDrcConfig,
}
}
- if (hUniDrcGain != NULL) {
- err = drcDec_readUniDrcGain(hBs, hUniDrcConfig, frameSize, deltaTminDefault,
- hUniDrcGain);
- if (err) return err;
- }
+ err = drcDec_readUniDrcGain(hBs, hUniDrcConfig, frameSize, deltaTminDefault,
+ hUniDrcGain);
return err;
}
@@ -487,10 +484,13 @@ drcDec_readUniDrcGain(HANDLE_FDK_BITSTREAM hBs,
int seq, gainSequenceCount;
DRC_COEFFICIENTS_UNI_DRC* pCoef =
selectDrcCoefficients(hUniDrcConfig, LOCATION_SELECTED);
- if (pCoef == NULL) return DE_OK;
- if (hUniDrcGain == NULL) return DE_OK; /* hUniDrcGain not initialized yet */
-
- gainSequenceCount = fMin(pCoef->gainSequenceCount, (UCHAR)12);
+ if (hUniDrcGain == NULL) return DE_NOT_OK;
+ hUniDrcGain->status = 0;
+ if (pCoef) {
+ gainSequenceCount = fMin(pCoef->gainSequenceCount, (UCHAR)12);
+ } else {
+ gainSequenceCount = 0;
+ }
for (seq = 0; seq < gainSequenceCount; seq++) {
UCHAR index = pCoef->gainSetIndexForGainSequence[seq];
@@ -518,6 +518,9 @@ drcDec_readUniDrcGain(HANDLE_FDK_BITSTREAM hBs,
if (err) return err;
}
+ if (err == DE_OK && gainSequenceCount > 0) {
+ hUniDrcGain->status = 1;
+ }
return err;
}