aboutsummaryrefslogtreecommitdiffstats
path: root/libDRCdec/src/FDK_drcDecLib.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2020-01-22 22:57:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-01-22 22:57:04 +0000
commit44b9543d921d899e2edae88dea9e2566fed861f0 (patch)
tree8a0f568088d14cc0de6ec52ac6e5d6787967b1fa /libDRCdec/src/FDK_drcDecLib.cpp
parentcedcc475f52dd704497524dda6ec2ef430d2b6c5 (diff)
parent3ce7751a440cafe41ff2eefb105b03096fbe122c (diff)
downloadfdk-aac-44b9543d921d899e2edae88dea9e2566fed861f0.tar.gz
fdk-aac-44b9543d921d899e2edae88dea9e2566fed861f0.tar.bz2
fdk-aac-44b9543d921d899e2edae88dea9e2566fed861f0.zip
Merge "Perform sanity check on DRC sets and improve the selection process"
Diffstat (limited to 'libDRCdec/src/FDK_drcDecLib.cpp')
-rw-r--r--libDRCdec/src/FDK_drcDecLib.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/libDRCdec/src/FDK_drcDecLib.cpp b/libDRCdec/src/FDK_drcDecLib.cpp
index 4f8ebc7..e43279f 100644
--- a/libDRCdec/src/FDK_drcDecLib.cpp
+++ b/libDRCdec/src/FDK_drcDecLib.cpp
@@ -145,6 +145,10 @@ struct s_drc_decoder {
SEL_PROC_OUTPUT selProcOutput;
} DRC_DECODER;
+static int _getGainStatus(HANDLE_UNI_DRC_GAIN hUniDrcGain) {
+ return hUniDrcGain->status;
+}
+
static int isResetNeeded(HANDLE_DRC_DECODER hDrcDec,
const SEL_PROC_OUTPUT oldSelProcOutput) {
int i, resetNeeded = 0;
@@ -729,7 +733,9 @@ FDK_drcDec_ReadUniDrcGain(HANDLE_DRC_DECODER hDrcDec,
&(hDrcDec->uniDrcGain));
if (dErr) return DRC_DEC_NOT_OK;
- hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD;
+ if (_getGainStatus(&(hDrcDec->uniDrcGain))) {
+ hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD;
+ }
return DRC_DEC_OK;
}
@@ -751,7 +757,9 @@ FDK_drcDec_ReadUniDrc(HANDLE_DRC_DECODER hDrcDec,
startSelectionProcess(hDrcDec);
if (dErr) return DRC_DEC_NOT_OK;
- hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD;
+ if (_getGainStatus(&(hDrcDec->uniDrcGain))) {
+ hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD;
+ }
return DRC_DEC_OK;
}