diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2018-12-20 15:52:46 +0100 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2019-01-02 13:58:02 -0500 |
commit | 5174d33de07f94293ec7450641f96e799805ddb8 (patch) | |
tree | 40e7c66aedbbc37b65f46caa6fbebd8d05e9bfbb | |
parent | 443d32ea7fffba4d95a25218ad0119c9696005c2 (diff) | |
download | fdk-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
-rw-r--r-- | libMpegTPDec/src/tpdec_asc.cpp | 8 |
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; } } |