OSDN Git Service

Free MediaBuffer when ABuffer is discarded.
authorWei Jia <wjia@google.com>
Fri, 18 Jul 2014 21:27:25 +0000 (14:27 -0700)
committerWei Jia <wjia@google.com>
Fri, 18 Jul 2014 21:27:25 +0000 (14:27 -0700)
BUG: 15699665
Change-Id: Ie7da017cf32ccc08094fe4b01a2b07d2739770d2

media/libstagefright/mpeg2ts/AnotherPacketSource.cpp

index 871824a..a0319ab 100644 (file)
@@ -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;
             }