diff --git a/packages/camera/CHANGELOG.md b/packages/camera/CHANGELOG.md index f63c79bd42cb..5e2abfa73f06 100644 --- a/packages/camera/CHANGELOG.md +++ b/packages/camera/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.7+6 + +* Fixed an issue, where after restarting a subscription of the image stream, first few received images would be stale (typically images from the end of the first stream). + ## 0.5.7+5 * Replace deprecated `getFlutterEngine` call on Android. diff --git a/packages/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java b/packages/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java index 0fcda278d836..9dc7adf5bd94 100644 --- a/packages/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java +++ b/packages/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java @@ -475,6 +475,11 @@ private void setImageStreamImageAvailableListener(final EventChannel.EventSink i null); } + public void stopImageStream() throws CameraAccessException { + imageStreamReader.setOnImageAvailableListener(null, null); + startPreview(); + } + private void closeCaptureSession() { if (cameraCaptureSession != null) { cameraCaptureSession.close(); diff --git a/packages/camera/android/src/main/java/io/flutter/plugins/camera/MethodCallHandlerImpl.java b/packages/camera/android/src/main/java/io/flutter/plugins/camera/MethodCallHandlerImpl.java index cb58d19a9a02..4571e4a81443 100644 --- a/packages/camera/android/src/main/java/io/flutter/plugins/camera/MethodCallHandlerImpl.java +++ b/packages/camera/android/src/main/java/io/flutter/plugins/camera/MethodCallHandlerImpl.java @@ -116,7 +116,7 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull final Result result) case "stopImageStream": { try { - camera.startPreview(); + camera.stopImageStream(); result.success(null); } catch (Exception e) { handleException(e, result); diff --git a/packages/camera/pubspec.yaml b/packages/camera/pubspec.yaml index 96ab8bb94f5f..bcf71f1bb01a 100644 --- a/packages/camera/pubspec.yaml +++ b/packages/camera/pubspec.yaml @@ -2,7 +2,7 @@ name: camera description: A Flutter plugin for getting information about and controlling the camera on Android and iOS. Supports previewing the camera feed, capturing images, capturing video, and streaming image buffers to dart. -version: 0.5.7+5 +version: 0.5.7+6 homepage: https://github.com/flutter/plugins/tree/master/packages/camera