From a553955a84245f819c70b770e4c21aac28f08fff Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Thu, 1 Aug 2019 12:07:16 +0200 Subject: [PATCH] Correctly recycle OutputBuffer --- .../cameraview/video/encoding/VideoMediaEncoder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/VideoMediaEncoder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/VideoMediaEncoder.java index 06f416e7..b542a882 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/VideoMediaEncoder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/VideoMediaEncoder.java @@ -113,17 +113,17 @@ abstract class VideoMediaEncoder extends MediaEncoder { int flag = MediaCodec.BUFFER_FLAG_SYNC_FRAME; boolean hasFlag = (buffer.info.flags & flag) == flag; if (hasFlag) { - LOG.w("onWriteOutput:", "sync frame found!"); + LOG.w("onWriteOutput:", "SYNC FRAME FOUND!"); mSyncFrameFound = true; super.onWriteOutput(pool, buffer); } else { - // drop this. LOG.w("onWriteOutput:", "DROPPING FRAME and requesting a sync frame soon."); if (Build.VERSION.SDK_INT >= 19) { Bundle params = new Bundle(); params.putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0); mMediaCodec.setParameters(params); } + pool.recycle(buffer); } } else { super.onWriteOutput(pool, buffer);