diff --git a/library/src/main/java/com/pedro/library/base/Camera1Base.java b/library/src/main/java/com/pedro/library/base/Camera1Base.java index b1e703ccd..97e337e7e 100644 --- a/library/src/main/java/com/pedro/library/base/Camera1Base.java +++ b/library/src/main/java/com/pedro/library/base/Camera1Base.java @@ -712,7 +712,7 @@ private void prepareGlView(int width, int height, int rotation) { } glInterface.setRotation(0); if (!glInterface.isRunning()) glInterface.start(); - if (videoEncoder.getInputSurface() != null) { + if (videoEncoder.getInputSurface() != null && videoEncoder.isRunning()) { glInterface.addMediaCodecSurface(videoEncoder.getInputSurface()); } cameraManager.setSurfaceTexture(glInterface.getSurfaceTexture()); diff --git a/library/src/main/java/com/pedro/library/base/Camera2Base.java b/library/src/main/java/com/pedro/library/base/Camera2Base.java index 199c91faf..36f31a770 100644 --- a/library/src/main/java/com/pedro/library/base/Camera2Base.java +++ b/library/src/main/java/com/pedro/library/base/Camera2Base.java @@ -656,7 +656,7 @@ private void prepareGlView(int width, int height, int rotation) { } glInterface.setRotation(rotation == 0 ? 270 : rotation - 90); if (!glInterface.isRunning()) glInterface.start(); - if (videoEncoder.getInputSurface() != null) { + if (videoEncoder.getInputSurface() != null && videoEncoder.isRunning()) { glInterface.addMediaCodecSurface(videoEncoder.getInputSurface()); } cameraManager.prepareCamera(glInterface.getSurfaceTexture(), videoEncoder.getWidth(),