Loading _docs/history.html +1 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ FIXED Returning from manual to auto white balance mode had incorrect colours u camera was restarted. FIXED REC709 and sRGB video picture profiles gave errors on some devices (e.g. Pixel). FIXED Device specific fixes for slow motion and high speed video. FIXED Some devices didn't support highest photo resolutions for focus bracketing mode. FIXED Don't enter immersive mode when in background. FIXED Some devices (e.g. Galaxy S24+) didn't layout UI correctly when switching directly between landscape and reversed landscape orientation. Loading app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController.java +6 −1 Original line number Diff line number Diff line Loading @@ -494,7 +494,12 @@ public abstract class CameraController { * first image. */ public abstract void setDummyCaptureHack(boolean dummy_capture_hack); public abstract boolean isBurstOrExpo(); /** Whether the current BurstType is one that requires the camera driver to capture the images * as a burst at a fast rate. If true, we should not use high resolutions that don't support a * capture burst (for Camera2 API, see StreamConfigurationMap.getHighResolutionOutputSizes()). */ public abstract boolean isCaptureFastBurst(); /** If true, then the camera controller is currently capturing a burst of images. */ public abstract boolean isCapturingBurst(); Loading app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController1.java +1 −1 Original line number Diff line number Diff line Loading @@ -859,7 +859,7 @@ public class CameraController1 extends CameraController { } @Override public boolean isBurstOrExpo() { public boolean isCaptureFastBurst() { // not supported for CameraController1 return false; } Loading app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java +5 −3 Original line number Diff line number Diff line Loading @@ -4887,13 +4887,15 @@ public class CameraController2 extends CameraController { } @Override public boolean isBurstOrExpo() { return this.burst_type != BurstType.BURSTTYPE_NONE; public boolean isCaptureFastBurst() { // BURSTTYPE_FOCUS photos are captured at a slow rate, so fine to return false for that (means // devices can still use highest resolutions) return this.burst_type != BurstType.BURSTTYPE_NONE && this.burst_type != BurstType.BURSTTYPE_FOCUS; } @Override public boolean isCapturingBurst() { if( !isBurstOrExpo() ) if( this.burst_type == BurstType.BURSTTYPE_NONE ) return false; if( burst_type == BurstType.BURSTTYPE_CONTINUOUS ) return continuous_burst_in_progress || n_burst > 0 || n_burst_raw > 0; Loading app/src/main/java/net/sourceforge/opencamera/preview/Preview.java +2 −2 Original line number Diff line number Diff line Loading @@ -2199,7 +2199,7 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu setupBurstMode(); { boolean is_burst = camera_controller.isBurstOrExpo(); boolean is_burst = camera_controller.isCaptureFastBurst(); int extension = is_extension ? camera_controller.getCameraExtension() : -1; if( is_burst || is_extension ) { if( MyDebug.LOG ) { Loading Loading @@ -7573,7 +7573,7 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu public List<CameraController.Size> getSupportedPictureSizes(boolean check_supported) { if( MyDebug.LOG ) Log.d(TAG, "getSupportedPictureSizes"); boolean is_burst = ( camera_controller != null && camera_controller.isBurstOrExpo() ); boolean is_burst = ( camera_controller != null && camera_controller.isCaptureFastBurst() ); boolean is_extension = ( camera_controller != null && camera_controller.isCameraExtension() ); int extension = is_extension ? camera_controller.getCameraExtension() : -1; boolean has_constraints = photo_size_constraints != null && photo_size_constraints.hasConstraints(); Loading Loading
_docs/history.html +1 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ FIXED Returning from manual to auto white balance mode had incorrect colours u camera was restarted. FIXED REC709 and sRGB video picture profiles gave errors on some devices (e.g. Pixel). FIXED Device specific fixes for slow motion and high speed video. FIXED Some devices didn't support highest photo resolutions for focus bracketing mode. FIXED Don't enter immersive mode when in background. FIXED Some devices (e.g. Galaxy S24+) didn't layout UI correctly when switching directly between landscape and reversed landscape orientation. Loading
app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController.java +6 −1 Original line number Diff line number Diff line Loading @@ -494,7 +494,12 @@ public abstract class CameraController { * first image. */ public abstract void setDummyCaptureHack(boolean dummy_capture_hack); public abstract boolean isBurstOrExpo(); /** Whether the current BurstType is one that requires the camera driver to capture the images * as a burst at a fast rate. If true, we should not use high resolutions that don't support a * capture burst (for Camera2 API, see StreamConfigurationMap.getHighResolutionOutputSizes()). */ public abstract boolean isCaptureFastBurst(); /** If true, then the camera controller is currently capturing a burst of images. */ public abstract boolean isCapturingBurst(); Loading
app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController1.java +1 −1 Original line number Diff line number Diff line Loading @@ -859,7 +859,7 @@ public class CameraController1 extends CameraController { } @Override public boolean isBurstOrExpo() { public boolean isCaptureFastBurst() { // not supported for CameraController1 return false; } Loading
app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java +5 −3 Original line number Diff line number Diff line Loading @@ -4887,13 +4887,15 @@ public class CameraController2 extends CameraController { } @Override public boolean isBurstOrExpo() { return this.burst_type != BurstType.BURSTTYPE_NONE; public boolean isCaptureFastBurst() { // BURSTTYPE_FOCUS photos are captured at a slow rate, so fine to return false for that (means // devices can still use highest resolutions) return this.burst_type != BurstType.BURSTTYPE_NONE && this.burst_type != BurstType.BURSTTYPE_FOCUS; } @Override public boolean isCapturingBurst() { if( !isBurstOrExpo() ) if( this.burst_type == BurstType.BURSTTYPE_NONE ) return false; if( burst_type == BurstType.BURSTTYPE_CONTINUOUS ) return continuous_burst_in_progress || n_burst > 0 || n_burst_raw > 0; Loading
app/src/main/java/net/sourceforge/opencamera/preview/Preview.java +2 −2 Original line number Diff line number Diff line Loading @@ -2199,7 +2199,7 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu setupBurstMode(); { boolean is_burst = camera_controller.isBurstOrExpo(); boolean is_burst = camera_controller.isCaptureFastBurst(); int extension = is_extension ? camera_controller.getCameraExtension() : -1; if( is_burst || is_extension ) { if( MyDebug.LOG ) { Loading Loading @@ -7573,7 +7573,7 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu public List<CameraController.Size> getSupportedPictureSizes(boolean check_supported) { if( MyDebug.LOG ) Log.d(TAG, "getSupportedPictureSizes"); boolean is_burst = ( camera_controller != null && camera_controller.isBurstOrExpo() ); boolean is_burst = ( camera_controller != null && camera_controller.isCaptureFastBurst() ); boolean is_extension = ( camera_controller != null && camera_controller.isCameraExtension() ); int extension = is_extension ? camera_controller.getCameraExtension() : -1; boolean has_constraints = photo_size_constraints != null && photo_size_constraints.hasConstraints(); Loading