From e492be499121dc8bd213404138cb238732b1ec6d Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Mon, 9 Dec 2024 15:10:22 +0200 Subject: [PATCH 1/3] [camera_android] Add API support query for image streaming --- packages/camera/camera_android/CHANGELOG.md | 4 ++++ packages/camera/camera_android/lib/src/android_camera.dart | 3 +++ packages/camera/camera_android/pubspec.yaml | 4 ++-- packages/camera/camera_android/test/android_camera_test.dart | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_android/CHANGELOG.md b/packages/camera/camera_android/CHANGELOG.md index d5686e096e7..8090d5ca2fe 100644 --- a/packages/camera/camera_android/CHANGELOG.md +++ b/packages/camera/camera_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.10.10 + +* Adds API support query for image streaming. + ## 0.10.9+17 * Updates annotations lib to 1.9.1. diff --git a/packages/camera/camera_android/lib/src/android_camera.dart b/packages/camera/camera_android/lib/src/android_camera.dart index 975c6c9be02..61695771616 100644 --- a/packages/camera/camera_android/lib/src/android_camera.dart +++ b/packages/camera/camera_android/lib/src/android_camera.dart @@ -228,6 +228,9 @@ class AndroidCamera extends CameraPlatform { Future resumeVideoRecording(int cameraId) => _hostApi.resumeVideoRecording(); + @override + bool supportsImageStreaming() => true; + @override Stream onStreamedFrameAvailable(int cameraId, {CameraImageStreamOptions? options}) { diff --git a/packages/camera/camera_android/pubspec.yaml b/packages/camera/camera_android/pubspec.yaml index a5af9af8d52..677e4e7b301 100644 --- a/packages/camera/camera_android/pubspec.yaml +++ b/packages/camera/camera_android/pubspec.yaml @@ -3,7 +3,7 @@ description: Android implementation of the camera plugin. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.10.9+17 +version: 0.10.10 environment: sdk: ^3.5.0 @@ -19,7 +19,7 @@ flutter: dartPluginClass: AndroidCamera dependencies: - camera_platform_interface: ^2.6.0 + camera_platform_interface: ^2.9.0 flutter: sdk: flutter flutter_plugin_android_lifecycle: ^2.0.2 diff --git a/packages/camera/camera_android/test/android_camera_test.dart b/packages/camera/camera_android/test/android_camera_test.dart index 7c6d55c485b..e2897b1e579 100644 --- a/packages/camera/camera_android/test/android_camera_test.dart +++ b/packages/camera/camera_android/test/android_camera_test.dart @@ -726,6 +726,10 @@ void main() { verify(mockCameraApi.resumePreview()).called(1); }); + test('Should report support for image streaming', () async { + expect(camera.supportsImageStreaming(), true); + }); + test('Should start streaming', () async { // Arrange // Act From b38ec2326971bb1dc2c3b1ad3ac164d9a37b07cc Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Mon, 9 Dec 2024 15:10:41 +0200 Subject: [PATCH 2/3] [camera_android_camerax] Add API support query for image streaming --- packages/camera/camera_android_camerax/CHANGELOG.md | 4 ++++ .../lib/src/android_camera_camerax.dart | 3 +++ packages/camera/camera_android_camerax/pubspec.yaml | 4 ++-- .../test/android_camera_camerax_test.dart | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index c64efc82427..7e190cb5ce3 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.13 + +* Adds API support query for image streaming. + ## 0.6.12 * Suppresses deprecation and removal warnings for diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart index 279956f8b17..31cde2fa0fc 100644 --- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart +++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart @@ -1062,6 +1062,9 @@ class AndroidCameraCameraX extends CameraPlatform { } } + @override + bool supportsImageStreaming() => true; + /// A new streamed frame is available. /// /// Listening to this stream will start streaming, and canceling will stop. diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index 90fabeb88f9..fb7e6f0e317 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_android_camerax description: Android implementation of the camera plugin using the CameraX library. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.6.12 +version: 0.6.13 environment: sdk: ^3.6.0 @@ -19,7 +19,7 @@ flutter: dependencies: async: ^2.5.0 - camera_platform_interface: ^2.6.0 + camera_platform_interface: ^2.9.0 flutter: sdk: flutter meta: ^1.7.0 diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index bf1ff878edd..89e201b3b32 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -2165,6 +2165,11 @@ void main() { verify(mockCameraControl.setZoomRatio(zoomRatio)); }); + test('Should report support for image streaming', () async { + final AndroidCameraCameraX camera = AndroidCameraCameraX(); + expect(camera.supportsImageStreaming(), true); + }); + test( 'onStreamedFrameAvailable emits CameraImageData when picked up from CameraImageData stream controller', () async { From b35bf6d8e0b71b126d64e05126a957de50ee23e5 Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Mon, 9 Dec 2024 15:10:57 +0200 Subject: [PATCH 3/3] [camera_avfoundation] Add API support query for image streaming --- packages/camera/camera_avfoundation/CHANGELOG.md | 4 ++++ .../camera_avfoundation/lib/src/avfoundation_camera.dart | 3 +++ packages/camera/camera_avfoundation/pubspec.yaml | 4 ++-- .../camera_avfoundation/test/avfoundation_camera_test.dart | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_avfoundation/CHANGELOG.md b/packages/camera/camera_avfoundation/CHANGELOG.md index f0f4a302ae5..f85fc618a5d 100644 --- a/packages/camera/camera_avfoundation/CHANGELOG.md +++ b/packages/camera/camera_avfoundation/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.18 + +* Adds API support query for image streaming. + ## 0.9.17+6 * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. diff --git a/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart b/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart index 286e01940bf..3e48a5e17d6 100644 --- a/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart +++ b/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart @@ -237,6 +237,9 @@ class AVFoundationCamera extends CameraPlatform { await _hostApi.resumeVideoRecording(); } + @override + bool supportsImageStreaming() => true; + @override Stream onStreamedFrameAvailable(int cameraId, {CameraImageStreamOptions? options}) { diff --git a/packages/camera/camera_avfoundation/pubspec.yaml b/packages/camera/camera_avfoundation/pubspec.yaml index 70c6dccfbd0..dbfd772cb41 100644 --- a/packages/camera/camera_avfoundation/pubspec.yaml +++ b/packages/camera/camera_avfoundation/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_avfoundation description: iOS implementation of the camera plugin. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_avfoundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.9.17+6 +version: 0.9.18 environment: sdk: ^3.4.0 @@ -17,7 +17,7 @@ flutter: dartPluginClass: AVFoundationCamera dependencies: - camera_platform_interface: ^2.7.0 + camera_platform_interface: ^2.9.0 flutter: sdk: flutter stream_transform: ^2.0.0 diff --git a/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart b/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart index df04b1a8e8e..1e8ad7def5d 100644 --- a/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart +++ b/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart @@ -674,6 +674,10 @@ void main() { verify(mockApi.resumePreview()); }); + test('Should report support for image streaming', () async { + expect(camera.supportsImageStreaming(), true); + }); + test('Should start streaming', () async { final StreamSubscription subscription = camera .onStreamedFrameAvailable(cameraId)