diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/internal/Issue514Workaround.java b/cameraview/src/main/java/com/otaliastudios/cameraview/internal/Issue514Workaround.java index 1fd2ea70..8caef7c8 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/internal/Issue514Workaround.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/internal/Issue514Workaround.java @@ -2,9 +2,6 @@ package com.otaliastudios.cameraview.internal; import android.graphics.SurfaceTexture; -import androidx.annotation.NonNull; - -import com.otaliastudios.cameraview.size.Size; /** * Fixes an issue for some devices with snapshot picture and video recording. @@ -14,9 +11,8 @@ public class Issue514Workaround { private final SurfaceTexture surfaceTexture; - public Issue514Workaround(int cameraTextureId, int outputWidth, int outputHeight) { + public Issue514Workaround(int cameraTextureId) { surfaceTexture = new SurfaceTexture(cameraTextureId); - // surfaceTexture.setDefaultBufferSize(outputWidth, outputHeight); } public void onStart() { diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java index b90ba6ae..56180783 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java @@ -169,9 +169,7 @@ public class SnapshotGlPictureRecorder extends PictureRecorder { final int fakeOutputTextureId = 9999; SurfaceTexture fakeOutputSurface = new SurfaceTexture(fakeOutputTextureId); fakeOutputSurface.setDefaultBufferSize(mResult.size.getWidth(), mResult.size.getHeight()); - final Issue514Workaround issue514Workaround = new Issue514Workaround(mTextureId, - mResult.size.getWidth(), - mResult.size.getHeight()); + final Issue514Workaround issue514Workaround = new Issue514Workaround(mTextureId); // 1. Create an EGL surface final EglCore core = new EglCore(eglContext, EglCore.FLAG_RECORDABLE); diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/TextureMediaEncoder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/TextureMediaEncoder.java index 2a85b265..4a855cb6 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/TextureMediaEncoder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/TextureMediaEncoder.java @@ -95,12 +95,11 @@ public class TextureMediaEncoder extends VideoMediaEncoder { mTransformRotation = mConfig.rotation; mConfig.rotation = 0; super.onPrepare(controller, maxLengthMillis); - mIssue514Workaround = new Issue514Workaround(mConfig.textureId, mConfig.width, mConfig.height); + mIssue514Workaround = new Issue514Workaround(mConfig.textureId); mEglCore = new EglCore(mConfig.eglContext, EglCore.FLAG_RECORDABLE); mWindow = new EglWindowSurface(mEglCore, mSurface, true); mWindow.makeCurrent(); mViewport = new EglViewport(); - mIssue514Workaround.onStart(); } @EncoderThread @@ -127,6 +126,7 @@ public class TextureMediaEncoder extends VideoMediaEncoder { // First, drain any previous data. LOG.i("onEvent", "frameNumber:", mFrameNumber, "timestamp:", frame.timestamp, "- draining."); drainOutput(false); + mIssue514Workaround.onStart(); // Then draw on the surface. LOG.i("onEvent", "frameNumber:", mFrameNumber, "timestamp:", frame.timestamp, "- drawing.");