diff options
author | Marco Nelissen <marcone@google.com> | 2013-04-16 15:57:38 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2013-04-16 16:06:46 -0700 |
commit | f2334661f4047beddf0431e7fe5204ca1cf4380b (patch) | |
tree | 838536756d3b3efd20673d1aba2bb97ceae9ae38 /media/libstagefright/codecs | |
parent | 8461772f46769a384ea87b42848e2d77de529332 (diff) | |
download | frameworks_av-f2334661f4047beddf0431e7fe5204ca1cf4380b.zip frameworks_av-f2334661f4047beddf0431e7fe5204ca1cf4380b.tar.gz frameworks_av-f2334661f4047beddf0431e7fe5204ca1cf4380b.tar.bz2 |
Make sure the drain buffer is big enough
b/8614909
Change-Id: I9d973dcd74100b793791359c262b821207ff9ddd
Diffstat (limited to 'media/libstagefright/codecs')
-rw-r--r-- | media/libstagefright/codecs/aacdec/SoftAAC2.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/media/libstagefright/codecs/aacdec/SoftAAC2.cpp b/media/libstagefright/codecs/aacdec/SoftAAC2.cpp index cf81c16..cf50dc9 100644 --- a/media/libstagefright/codecs/aacdec/SoftAAC2.cpp +++ b/media/libstagefright/codecs/aacdec/SoftAAC2.cpp @@ -586,9 +586,12 @@ void SoftAAC2::onPortFlushCompleted(OMX_U32 portIndex) { } void SoftAAC2::drainDecoder() { - short buf [2048]; - aacDecoder_DecodeFrame(mAACDecoder, buf, 4096, AACDEC_FLUSH | AACDEC_CLRHIST | AACDEC_INTR); - aacDecoder_DecodeFrame(mAACDecoder, buf, 4096, AACDEC_FLUSH | AACDEC_CLRHIST | AACDEC_INTR); + // a buffer big enough for 6 channels of decoded HE-AAC + short buf [2048*6]; + aacDecoder_DecodeFrame(mAACDecoder, + buf, sizeof(buf), AACDEC_FLUSH | AACDEC_CLRHIST | AACDEC_INTR); + aacDecoder_DecodeFrame(mAACDecoder, + buf, sizeof(buf), AACDEC_FLUSH | AACDEC_CLRHIST | AACDEC_INTR); aacDecoder_SetParam(mAACDecoder, AAC_TPDEC_CLEAR_BUFFER, 1); mDecoderHasData = false; } |