diff --git a/cameraview/src/main/gles/com/otaliastudios/cameraview/TextureMediaEncoder.java b/cameraview/src/main/gles/com/otaliastudios/cameraview/TextureMediaEncoder.java index 7f0f3418..114f8a99 100644 --- a/cameraview/src/main/gles/com/otaliastudios/cameraview/TextureMediaEncoder.java +++ b/cameraview/src/main/gles/com/otaliastudios/cameraview/TextureMediaEncoder.java @@ -123,10 +123,6 @@ class TextureMediaEncoder extends VideoMediaEncoder float scaleTranslY = (1F - scaleY) / 2F; Matrix.translateM(transform, 0, scaleTranslX, scaleTranslY, 0); Matrix.scaleM(transform, 0, scaleX, scaleY, 1); - if (overlayTransform != null) { - Matrix.translateM(overlayTransform, 0, scaleTranslX, scaleTranslY, 0); - Matrix.scaleM(overlayTransform, 0, scaleX, scaleY, 1); - } // We also must rotate this matrix. In GlCameraPreview it is not needed because it is a live // stream, but the output video, must be correctly rotated based on the device rotation at the moment. diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/OverlayLayout.java b/cameraview/src/main/java/com/otaliastudios/cameraview/OverlayLayout.java index 9d177a11..0418bb94 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/OverlayLayout.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/OverlayLayout.java @@ -3,7 +3,6 @@ package com.otaliastudios.cameraview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; -import android.graphics.Paint; import android.graphics.PorterDuff; import android.util.AttributeSet; import android.view.Surface; @@ -36,7 +35,8 @@ public class OverlayLayout extends FrameLayout { final Canvas surfaceCanvas = outputSurface.lockCanvas(null); float xScale = surfaceCanvas.getWidth() / (float) canvas.getWidth(); - surfaceCanvas.scale(xScale, xScale); + float yScale = surfaceCanvas.getHeight() / (float) canvas.getHeight(); + surfaceCanvas.scale(xScale, yScale); surfaceCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); super.draw(surfaceCanvas); diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java index e8d174ee..8c3e62af 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java @@ -136,10 +136,6 @@ class SnapshotPictureRecorder extends PictureRecorder { float scaleTranslY = (1F - realScaleY) / 2F; Matrix.translateM(mTransform, 0, scaleTranslX, scaleTranslY, 0); Matrix.scaleM(mTransform, 0, realScaleX, realScaleY, 1); - if (mOverlayTransform != null) { - Matrix.translateM(mOverlayTransform, 0, scaleTranslX, scaleTranslY, 0); - Matrix.scaleM(mOverlayTransform, 0, realScaleX, realScaleY, 1); - } // Fix rotation: // TODO Not sure why we need the minus here... It makes no sense to me. diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java b/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java index 85fabd4e..02f46ed8 100644 --- a/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java +++ b/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java @@ -241,11 +241,6 @@ class GlCameraPreview extends CameraPreview imple float translY = (1F - mScaleY) / 2F; Matrix.translateM(mTransformMatrix, 0, translX, translY, 0); Matrix.scaleM(mTransformMatrix, 0, mScaleX, mScaleY, 1); - - if (hasOverlay()) { - Matrix.translateM(mOverlayTransformMatrix, 0, translX, translY, 0); - Matrix.scaleM(mOverlayTransformMatrix, 0, mScaleX, mScaleY, 1); - } } // Future note: passing scale to the viewport? // They are scaleX an scaleY, but flipped based on mInputFlipped.