From dfd125dc25fef939f6232f8c6cb59a6a6ffa7733 Mon Sep 17 00:00:00 2001 From: Houxiang Dai Date: Wed, 10 May 2023 11:53:13 +0800 Subject: [PATCH] Fix some memory leakage Remove MediaCodec sPoll buffer leakage Test: DTV input source stress test pass Bug: 279135364, 235185556 Change-Id: I751beaeba39eeabd2c6aa9059b51997130dbf86b --- media/java/android/media/MediaCodec.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index 8e8ed6c7acec..5c3aa96925f5 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -3089,7 +3089,10 @@ final public class MediaCodec { mValid = false; mNativeContext = 0; } - sPool.offer(this); + + if (!mInternal) { + sPool.offer(this); + } } private native void native_recycle(); @@ -3153,6 +3156,7 @@ final public class MediaCodec { mNativeContext = context; mMappable = isMappable; mValid = (context != 0); + mInternal = true; } private static final BlockingQueue sPool = @@ -3163,6 +3167,7 @@ final public class MediaCodec { private boolean mMappable = false; private ByteBuffer mMapped = null; private long mNativeContext = 0; + private boolean mInternal = false; } /**