1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-06-05 22:39:13 +02:00

Merge "Always call startSelectionProcess() independent on an error in FDK_drcDec_ReadUniDrc()"

This commit is contained in:
TreeHugger Robot
2019-03-14 20:20:28 +00:00
committed by Android (Google) Code Review

View File

@@ -173,13 +173,11 @@ static int isResetNeeded(HANDLE_DRC_DECODER hDrcDec,
return resetNeeded; return resetNeeded;
} }
static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) { static void startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) {
DRC_ERROR dErr = DE_OK;
DRCDEC_SELECTION_PROCESS_RETURN sErr = DRCDEC_SELECTION_PROCESS_NO_ERROR;
int uniDrcConfigHasChanged = 0; int uniDrcConfigHasChanged = 0;
SEL_PROC_OUTPUT oldSelProcOutput = hDrcDec->selProcOutput; SEL_PROC_OUTPUT oldSelProcOutput = hDrcDec->selProcOutput;
if (!hDrcDec->status) return DRC_DEC_NOT_READY; if (!hDrcDec->status) return;
if (hDrcDec->functionalRange & DRC_DEC_SELECTION) { if (hDrcDec->functionalRange & DRC_DEC_SELECTION) {
uniDrcConfigHasChanged = hDrcDec->uniDrcConfig.diff; uniDrcConfigHasChanged = hDrcDec->uniDrcConfig.diff;
@@ -189,10 +187,9 @@ static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) {
*/ */
hDrcDec->selProcOutput.numSelectedDrcSets = 0; hDrcDec->selProcOutput.numSelectedDrcSets = 0;
sErr = drcDec_SelectionProcess_Process( drcDec_SelectionProcess_Process(
hDrcDec->hSelectionProc, &(hDrcDec->uniDrcConfig), hDrcDec->hSelectionProc, &(hDrcDec->uniDrcConfig),
&(hDrcDec->loudnessInfoSet), &(hDrcDec->selProcOutput)); &(hDrcDec->loudnessInfoSet), &(hDrcDec->selProcOutput));
if (sErr) return DRC_DEC_OK;
hDrcDec->selProcInputDiff = 0; hDrcDec->selProcInputDiff = 0;
hDrcDec->uniDrcConfig.diff = 0; hDrcDec->uniDrcConfig.diff = 0;
@@ -202,15 +199,12 @@ static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) {
if (hDrcDec->functionalRange & DRC_DEC_GAIN) { if (hDrcDec->functionalRange & DRC_DEC_GAIN) {
if (isResetNeeded(hDrcDec, oldSelProcOutput) || uniDrcConfigHasChanged) { if (isResetNeeded(hDrcDec, oldSelProcOutput) || uniDrcConfigHasChanged) {
dErr = drcDec_GainDecoder_Config(hDrcDec->hGainDec, &(hDrcDec->uniDrcConfig),
drcDec_GainDecoder_Config(hDrcDec->hGainDec, &(hDrcDec->uniDrcConfig), hDrcDec->selProcOutput.numSelectedDrcSets,
hDrcDec->selProcOutput.numSelectedDrcSets, hDrcDec->selProcOutput.selectedDrcSetIds,
hDrcDec->selProcOutput.selectedDrcSetIds, hDrcDec->selProcOutput.selectedDownmixIds);
hDrcDec->selProcOutput.selectedDownmixIds);
if (dErr) return DRC_DEC_OK;
} }
} }
return DRC_DEC_OK;
} }
DRC_DEC_ERROR DRC_DEC_ERROR
@@ -721,9 +715,9 @@ FDK_drcDec_ReadUniDrc(HANDLE_DRC_DECODER hDrcDec,
drcDec_GainDecoder_GetFrameSize(hDrcDec->hGainDec), drcDec_GainDecoder_GetFrameSize(hDrcDec->hGainDec),
drcDec_GainDecoder_GetDeltaTminDefault(hDrcDec->hGainDec), drcDec_GainDecoder_GetDeltaTminDefault(hDrcDec->hGainDec),
&(hDrcDec->uniDrcGain)); &(hDrcDec->uniDrcGain));
if (dErr) return DRC_DEC_NOT_OK;
startSelectionProcess(hDrcDec); startSelectionProcess(hDrcDec);
if (dErr) return DRC_DEC_NOT_OK;
hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD; hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD;