aboutsummaryrefslogtreecommitdiffstats
path: root/fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp')
-rw-r--r--fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp b/fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp
index 4f8ebc7..26e5b78 100644
--- a/fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp
+++ b/fdk-aac/libDRCdec/src/FDK_drcDecLib.cpp
@@ -112,7 +112,7 @@ amm-info@iis.fraunhofer.de
#define DRCDEC_LIB_VL1 1
#define DRCDEC_LIB_VL2 0
#define DRCDEC_LIB_TITLE "MPEG-D DRC Decoder Lib"
-#ifdef __ANDROID__
+#ifdef SUPPRESS_BUILD_DATE_INFO
#define DRCDEC_LIB_BUILD_DATE ""
#define DRCDEC_LIB_BUILD_TIME ""
#else
@@ -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;
@@ -515,6 +519,8 @@ LONG FDK_drcDec_GetParam(HANDLE_DRC_DECODER hDrcDec,
}
case DRC_DEC_TARGET_CHANNEL_COUNT_SELECTED:
return (LONG)hDrcDec->selProcOutput.targetChannelCount;
+ case DRC_DEC_OUTPUT_LOUDNESS:
+ return (LONG)hDrcDec->selProcOutput.outputLoudness;
default:
return 0;
}
@@ -729,7 +735,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 +759,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;
}