Merge "Add QMF analysis band sanity check"

This commit is contained in:
Jean-Michel Trivi 2019-02-01 15:34:03 +00:00 committed by Gerrit Code Review
commit b30e02cfd3
2 changed files with 11 additions and 3 deletions

View File

@ -1398,9 +1398,13 @@ aacDecoder_DecodeFrame(HANDLE_AACDECODER self, INT_PCM *pTimeData_extern,
mpegSurroundDecoder_ConfigureQmfDomain(
(CMpegSurroundDecoder *)self->pMpegSurroundDecoder, sac_interface,
(UINT)self->streamInfo.aacSampleRate, self->streamInfo.aot);
self->qmfDomain.globalConf.nQmfTimeSlots_requested =
self->streamInfo.aacSamplesPerFrame /
self->qmfDomain.globalConf.nBandsAnalysis_requested;
if (self->qmfDomain.globalConf.nBandsAnalysis_requested > 0) {
self->qmfDomain.globalConf.nQmfTimeSlots_requested =
self->streamInfo.aacSamplesPerFrame /
self->qmfDomain.globalConf.nBandsAnalysis_requested;
} else {
self->qmfDomain.globalConf.nQmfTimeSlots_requested = 0;
}
}
self->qmfDomain.globalConf.TDinput = pTimeData;

View File

@ -1658,6 +1658,10 @@ int mpegSurroundDecoder_Apply(CMpegSurroundDecoder *pMpegSurroundDecoder,
initControlFlags = controlFlags;
/* Check that provided output buffer is large enough. */
if (pMpegSurroundDecoder->pQmfDomain->globalConf.nBandsAnalysis == 0) {
err = MPS_UNSUPPORTED_FORMAT;
goto bail;
}
timeDataRequiredSize =
(timeDataFrameSize *
pMpegSurroundDecoder->pSpatialDec->numOutputChannelsAT *