diff options
author | Andreas Huber <andih@google.com> | 2012-03-09 14:33:01 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-03-09 14:33:01 -0800 |
commit | bdaa29a9bc63d8d0d86879e40286a06655623322 (patch) | |
tree | 6bd01eab72f7df5ba9bb5c76eb3f6136bcd638ef /media/libstagefright/foundation | |
parent | 5aaeb0d64fc98f9b019a4378eb39f0ee49ee6ec4 (diff) | |
download | frameworks_av-bdaa29a9bc63d8d0d86879e40286a06655623322.zip frameworks_av-bdaa29a9bc63d8d0d86879e40286a06655623322.tar.gz frameworks_av-bdaa29a9bc63d8d0d86879e40286a06655623322.tar.bz2 |
Fix memory leak when carrying ABuffer* in AMessages.
Change-Id: Icb4770ca238d316e6dd2d89159357a8fdb504ea9
Diffstat (limited to 'media/libstagefright/foundation')
-rw-r--r-- | media/libstagefright/foundation/AMessage.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libstagefright/foundation/AMessage.cpp b/media/libstagefright/foundation/AMessage.cpp index 9a00186..8b01ac6 100644 --- a/media/libstagefright/foundation/AMessage.cpp +++ b/media/libstagefright/foundation/AMessage.cpp @@ -74,6 +74,7 @@ void AMessage::freeItem(Item *item) { case kTypeObject: case kTypeMessage: + case kTypeBuffer: { if (item->u.refValue != NULL) { item->u.refValue->decStrong(this); @@ -292,6 +293,7 @@ sp<AMessage> AMessage::dup() const { } case kTypeObject: + case kTypeBuffer: { to->u.refValue = from->u.refValue; to->u.refValue->incStrong(msg.get()); @@ -396,6 +398,10 @@ AString AMessage::debugString(int32_t indent) const { tmp = StringPrintf( "RefBase *%s = %p", item.mName, item.u.refValue); break; + case kTypeBuffer: + tmp = StringPrintf( + "ABuffer *%s = %p", item.mName, item.u.refValue); + break; case kTypeMessage: tmp = StringPrintf( "AMessage %s = %s", |