aboutsummaryrefslogtreecommitdiffstats
path: root/libMpegTPDec
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2018-12-20 15:52:46 +0100
committerJean-Michel Trivi <jmtrivi@google.com>2019-01-02 13:58:02 -0500
commit5174d33de07f94293ec7450641f96e799805ddb8 (patch)
tree40e7c66aedbbc37b65f46caa6fbebd8d05e9bfbb /libMpegTPDec
parent443d32ea7fffba4d95a25218ad0119c9696005c2 (diff)
downloadfdk-aac-5174d33de07f94293ec7450641f96e799805ddb8.tar.gz
fdk-aac-5174d33de07f94293ec7450641f96e799805ddb8.tar.bz2
fdk-aac-5174d33de07f94293ec7450641f96e799805ddb8.zip
Return transport decoder error in case of invalid ELD configuration
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I65c98830d361a82c9d173eadb44ff245cd076fdf
Diffstat (limited to 'libMpegTPDec')
-rw-r--r--libMpegTPDec/src/tpdec_asc.cpp8
1 files changed, 8 insertions, 0 deletions
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;
}
}