Make sure to release the buffer we're not using in case of an error.
related-to-bug: 2366606
diff --git a/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp b/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp
index c115b18..f1f7194 100644
--- a/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp
+++ b/media/libstagefright/codecs/mp3dec/MP3Decoder.cpp
@@ -161,6 +161,9 @@
mConfig->pOutputBuffer = static_cast<int16_t *>(buffer->data());
if (pvmp3_framedecoder(mConfig, mDecoderBuf) != NO_DECODING_ERROR) {
+ buffer->release();
+ buffer = NULL;
+
mInputBuffer->release();
mInputBuffer = NULL;