From: Wei Jia Date: Fri, 18 Jul 2014 21:27:25 +0000 (-0700) Subject: Free MediaBuffer when ABuffer is discarded. X-Git-Tag: android-x86-6.0-r1~253^2~882^2^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=65eeb3c92ffc8b90eb1330fdf9a74c55f3c6b463;p=android-x86%2Fframeworks-av.git Free MediaBuffer when ABuffer is discarded. BUG: 15699665 Change-Id: Ie7da017cf32ccc08094fe4b01a2b07d2739770d2 --- diff --git a/media/libstagefright/mpeg2ts/AnotherPacketSource.cpp b/media/libstagefright/mpeg2ts/AnotherPacketSource.cpp index 871824a988..a0319abbf2 100644 --- a/media/libstagefright/mpeg2ts/AnotherPacketSource.cpp +++ b/media/libstagefright/mpeg2ts/AnotherPacketSource.cpp @@ -230,6 +230,11 @@ void AnotherPacketSource::queueDiscontinuity( int32_t oldDiscontinuityType; if (!oldBuffer->meta()->findInt32( "discontinuity", &oldDiscontinuityType)) { + MediaBuffer *mbuf = NULL; + oldBuffer->meta()->findPointer("mediaBuffer", (void**)&mbuf); + if (mbuf != NULL) { + mbuf->release(); + } it = mBuffers.erase(it); continue; }