mirror of https://github.com/mstorsjo/fdk-aac.git
Add QMF analysis band sanity check
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I0001e0996a970e91a21bfe8ba051fdba0c06c219
This commit is contained in:
parent
bcda185d56
commit
c47066df27
|
@ -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;
|
||||
|
|
|
@ -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 *
|
||||
|
|
Loading…
Reference in New Issue