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 8716ad8c..fc36c05f 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/picture/SnapshotGlPictureRecorder.java @@ -175,7 +175,6 @@ public class SnapshotGlPictureRecorder extends PictureRecorder { final EglCore core = new EglCore(eglContext, EglCore.FLAG_RECORDABLE); final EglBaseSurface eglSurface = new EglWindowSurface(core, fakeOutputSurface); eglSurface.makeCurrent(); - issue514Workaround.start(); // 2. Apply scale and crop boolean flip = mEngine.getAngles().flip(Reference.VIEW, Reference.SENSOR); @@ -206,6 +205,7 @@ public class SnapshotGlPictureRecorder extends PictureRecorder { } catch (Surface.OutOfResourcesException e) { LOG.w("Got Surface.OutOfResourcesException while drawing picture overlays", e); } + issue514Workaround.start(); mOverlaySurfaceTexture.updateTexImage(); mOverlaySurfaceTexture.getTransformMatrix(mOverlayTransform); diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java index bde8257e..9ce821c5 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java @@ -104,7 +104,6 @@ public class SnapshotVideoRecorder extends VideoRecorder implements RendererFram temp.release(true); } mIssue514Workaround = new Issue514Workaround(textureId, mHasOverlay); - mIssue514Workaround.start(); } @RendererThread @@ -171,7 +170,6 @@ public class SnapshotVideoRecorder extends VideoRecorder implements RendererFram if (mCurrentState == STATE_RECORDING) { LOG.v("dispatching frame."); - mIssue514Workaround.start(); TextureMediaEncoder textureEncoder = (TextureMediaEncoder) mEncoderEngine.getVideoEncoder(); TextureMediaEncoder.Frame frame = textureEncoder.acquireFrame(); frame.timestamp = surfaceTexture.getTimestamp(); @@ -188,6 +186,7 @@ public class SnapshotVideoRecorder extends VideoRecorder implements RendererFram } catch (Surface.OutOfResourcesException e) { LOG.w("Got Surface.OutOfResourcesException while drawing video overlays", e); } + mIssue514Workaround.start(); mOverlaySurfaceTexture.updateTexImage(); mOverlaySurfaceTexture.getTransformMatrix(frame.overlayTransform); }