Skip to content

Commit b9770d8

Browse files
danielroekMinyewoo
authored andcommitted
[camera] Fixed stale images in imageStream subscriptions (flutter#3344)
* Fixed stale images in imageStream subscriptions * Implemented feedback * Fixed format exception * added null-check for imageStreamReader * Removed setOnImageAvailableListener from onCancel * fixed formatting
1 parent 7b07f0f commit b9770d8

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

packages/camera/camera/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.6.4+2
2+
3+
* Set ImageStreamReader listener to null to prevent stale images when streaming images.
4+
15
## 0.6.4+1
26

37
* Added closeCaptureSession() to stopVideoRecording in Camera.java to fix an Android 6 crash

packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,13 @@ public void setZoomLevel(@NonNull final Result result, float zoom) throws Camera
11111111
result.success(null);
11121112
}
11131113

1114+
public void stopImageStream() throws CameraAccessException {
1115+
if (imageStreamReader != null) {
1116+
imageStreamReader.setOnImageAvailableListener(null, null);
1117+
}
1118+
startPreview();
1119+
}
1120+
11141121
private void closeCaptureSession() {
11151122
if (cameraCaptureSession != null) {
11161123
cameraCaptureSession.close();

packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/MethodCallHandlerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull final Result result)
287287
case "stopImageStream":
288288
{
289289
try {
290-
camera.startPreview();
290+
camera.stopImageStream();
291291
result.success(null);
292292
} catch (Exception e) {
293293
handleException(e, result);

packages/camera/camera/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: A Flutter plugin for getting information about and controlling the
66

77

88

9-
version: 0.6.4+1
9+
version: 0.6.4+2
1010
homepage: https://github.com/flutter/plugins/tree/master/packages/camera/camera
1111
dependencies:
1212
flutter:

0 commit comments

Comments
 (0)