From 5174d33de07f94293ec7450641f96e799805ddb8 Mon Sep 17 00:00:00 2001 From: Fraunhofer IIS FDK Date: Thu, 20 Dec 2018 15:52:46 +0100 Subject: [PATCH] Return transport decoder error in case of invalid ELD configuration Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I65c98830d361a82c9d173eadb44ff245cd076fdf --- libMpegTPDec/src/tpdec_asc.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libMpegTPDec/src/tpdec_asc.cpp b/libMpegTPDec/src/tpdec_asc.cpp index a81a137..5270f2b 100644 --- a/libMpegTPDec/src/tpdec_asc.cpp +++ b/libMpegTPDec/src/tpdec_asc.cpp @@ -1420,6 +1420,10 @@ static TRANSPORTDEC_ERROR EldSpecificConfig_Parse(CSAudioSpecificConfig *asc, if (ErrorStatus != TRANSPORTDEC_OK) { return TRANSPORTDEC_PARSE_ERROR; } + if (esc->m_downscaledSamplingFrequency != asc->m_samplingFrequency) { + return TRANSPORTDEC_UNSUPPORTED_FORMAT; /* ELDv2 w/ ELD downscaled + mode not allowed */ + } break; } @@ -1441,6 +1445,10 @@ static TRANSPORTDEC_ERROR EldSpecificConfig_Parse(CSAudioSpecificConfig *asc, if (downscale_fill_nibble != 0x0) { return TRANSPORTDEC_PARSE_ERROR; } + if (esc->m_useLdQmfTimeAlign == 1) { + return TRANSPORTDEC_UNSUPPORTED_FORMAT; /* ELDv2 w/ ELD downscaled + mode not allowed */ + } break; } }