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:
committed by
Android (Google) Code Review
commit
358e6d14ac
@@ -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;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user