diff --git a/src/api-impl/android/media/MediaCodec.java b/src/api-impl/android/media/MediaCodec.java index 386e7646..ce21a7bc 100644 --- a/src/api-impl/android/media/MediaCodec.java +++ b/src/api-impl/android/media/MediaCodec.java @@ -18,7 +18,6 @@ public class MediaCodec { private long native_codec; private boolean outputFormatSet = false; private MediaFormat mediaFormat; - private boolean isReleased = false; private Queue freeOutputBuffers; private Queue queuedInputBuffers; @@ -148,8 +147,9 @@ public class MediaCodec { public void release() { System.out.println("MediaCodec.release(): codecName=" + codecName); - native_release(native_codec); - isReleased = true; + if (native_codec != 0) + native_release(native_codec); + native_codec = 0; } @Override @@ -158,9 +158,7 @@ public class MediaCodec { try { super.finalize(); } finally { - if (!isReleased) { - release(); - } + release(); } }