Instead of asserting that nothing bad happened during (software-)AAC decoding, return a runtime error if appropriate.

Change-Id: I175492aba8fd6cc1320d047bd2608750d7b193f9
related-to-bug: 2492187
This commit is contained in:
Andreas Huber
2010-03-17 11:29:35 -07:00
parent d246ca8115
commit fe1dee83ed

View File

@@ -199,7 +199,16 @@ status_t AACDecoder::read(
mConfig->pOutputBuffer_plus = NULL;
mConfig->repositionFlag = false;
CHECK_EQ(PVMP4AudioDecodeFrame(mConfig, mDecoderBuf), MP4AUDEC_SUCCESS);
Int decoderErr = PVMP4AudioDecodeFrame(mConfig, mDecoderBuf);
if (decoderErr != MP4AUDEC_SUCCESS) {
LOGE("AAC decoder returned error %d", decoderErr);
buffer->release();
buffer = NULL;
return ERROR_MALFORMED;
}
buffer->set_range(
0, mConfig->frameLength * sizeof(int16_t) * mConfig->desiredChannels);