From: Lajos Molnar Date: Wed, 10 Sep 2014 20:53:21 +0000 (-0700) Subject: mediaplayer: release MediaBuffer in stale input buffers X-Git-Tag: android-x86-6.0-r1~852^2~155^2~64^2~1^2^2^2~1^2~1^2~3^2~1^2^2~2^2~1^2^2^2^2~3^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c640e19c11b3f93e739dd1504159dbe9fe529f0c;p=android-x86%2Fframeworks-av.git mediaplayer: release MediaBuffer in stale input buffers Bug: 17454455 Change-Id: If63a6e42f96851d6c10fdec11360f0dabae9bf50 --- diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 8ce7bafd94..163a0b55b5 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -595,7 +595,18 @@ void NuPlayer::Decoder::onMessageReceived(const sp &msg) { { if (!isStaleReply(msg)) { onInputBufferFilled(msg); + } else { + /* release any MediaBuffer passed in the stale buffer */ + sp buffer; + MediaBuffer *mediaBuffer = NULL; + if (msg->findBuffer("buffer", &buffer) && + buffer->meta()->findPointer( + "mediaBuffer", (void **)&mediaBuffer) && + mediaBuffer != NULL) { + mediaBuffer->release(); + } } + break; }