1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-01-31 16:05:03 +01:00

Fix AACDEC_INTR handling for USAC configuration with multiple pre-roll AUs

Bug: 148384920
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I88cd6da0b18c73f7b521ea58ba8b8f364278b64f
This commit is contained in:
Fraunhofer IIS FDK 2019-12-19 17:20:20 +01:00 committed by Jean-Michel Trivi
parent f04a8a855c
commit 00285819a2

View File

@ -1269,9 +1269,9 @@ aacDecoder_DecodeFrame(HANDLE_AACDECODER self, INT_PCM *pTimeData_extern,
}
/* Signal bit stream interruption to other modules if required. */
if (fTpInterruption || (flags & AACDEC_INTR)) {
if (fTpInterruption || ((flags & AACDEC_INTR) && (accessUnit == 0))) {
aacDecoder_SignalInterruption(self);
if (!(flags & AACDEC_INTR)) {
if (!((flags & AACDEC_INTR) && (accessUnit == 0))) {
ErrorStatus = AAC_DEC_TRANSPORT_SYNC_ERROR;
goto bail;
}
@ -1768,7 +1768,7 @@ aacDecoder_DecodeFrame(HANDLE_AACDECODER self, INT_PCM *pTimeData_extern,
if (self->streamInfo.extAot != AOT_AAC_SLS) {
INT pcmLimiterScale = 0;
PCMDMX_ERROR dmxErr = PCMDMX_OK;
if (flags & (AACDEC_INTR)) {
if ((flags & AACDEC_INTR) && (accessUnit == 0)) {
/* delete data from the past (e.g. mixdown coeficients) */
pcmDmx_Reset(self->hPcmUtils, PCMDMX_RESET_BS_DATA);
}