Skip to content

Commit d1fd623

Browse files
authored
[camera] Add API support query for image streaming (flutter#8250)
Add API support query, `supportsImageStreaming` for checking if the camera platform supports image streaming. As requested on this comment: flutter#8234 (comment) Attempting to follow the [contribution guide wrt. changing federated plugins](https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins). There is no issue to link to, but should I create one?
1 parent 1182ca9 commit d1fd623

File tree

12 files changed

+40
-6
lines changed

12 files changed

+40
-6
lines changed

packages/camera/camera_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.10.10
2+
3+
* Adds API support query for image streaming.
4+
15
## 0.10.9+17
26

37
* Updates annotations lib to 1.9.1.

packages/camera/camera_android/lib/src/android_camera.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@ class AndroidCamera extends CameraPlatform {
228228
Future<void> resumeVideoRecording(int cameraId) =>
229229
_hostApi.resumeVideoRecording();
230230

231+
@override
232+
bool supportsImageStreaming() => true;
233+
231234
@override
232235
Stream<CameraImageData> onStreamedFrameAvailable(int cameraId,
233236
{CameraImageStreamOptions? options}) {

packages/camera/camera_android/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: Android implementation of the camera plugin.
33
repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
55

6-
version: 0.10.9+17
6+
version: 0.10.10
77

88
environment:
99
sdk: ^3.5.0
@@ -19,7 +19,7 @@ flutter:
1919
dartPluginClass: AndroidCamera
2020

2121
dependencies:
22-
camera_platform_interface: ^2.6.0
22+
camera_platform_interface: ^2.9.0
2323
flutter:
2424
sdk: flutter
2525
flutter_plugin_android_lifecycle: ^2.0.2

packages/camera/camera_android/test/android_camera_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,10 @@ void main() {
726726
verify(mockCameraApi.resumePreview()).called(1);
727727
});
728728

729+
test('Should report support for image streaming', () async {
730+
expect(camera.supportsImageStreaming(), true);
731+
});
732+
729733
test('Should start streaming', () async {
730734
// Arrange
731735
// Act

packages/camera/camera_android_camerax/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.6.13
2+
3+
* Adds API support query for image streaming.
4+
15
## 0.6.12
26

37
* Suppresses deprecation and removal warnings for

packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,9 @@ class AndroidCameraCameraX extends CameraPlatform {
10621062
}
10631063
}
10641064

1065+
@override
1066+
bool supportsImageStreaming() => true;
1067+
10651068
/// A new streamed frame is available.
10661069
///
10671070
/// Listening to this stream will start streaming, and canceling will stop.

packages/camera/camera_android_camerax/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: camera_android_camerax
22
description: Android implementation of the camera plugin using the CameraX library.
33
repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
5-
version: 0.6.12
5+
version: 0.6.13
66

77
environment:
88
sdk: ^3.6.0
@@ -19,7 +19,7 @@ flutter:
1919

2020
dependencies:
2121
async: ^2.5.0
22-
camera_platform_interface: ^2.6.0
22+
camera_platform_interface: ^2.9.0
2323
flutter:
2424
sdk: flutter
2525
meta: ^1.7.0

packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2165,6 +2165,11 @@ void main() {
21652165
verify(mockCameraControl.setZoomRatio(zoomRatio));
21662166
});
21672167

2168+
test('Should report support for image streaming', () async {
2169+
final AndroidCameraCameraX camera = AndroidCameraCameraX();
2170+
expect(camera.supportsImageStreaming(), true);
2171+
});
2172+
21682173
test(
21692174
'onStreamedFrameAvailable emits CameraImageData when picked up from CameraImageData stream controller',
21702175
() async {

packages/camera/camera_avfoundation/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.9.18
2+
3+
* Adds API support query for image streaming.
4+
15
## 0.9.17+7
26

37
* Fixes changing global audio session category to be collision free across plugins.

packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,9 @@ class AVFoundationCamera extends CameraPlatform {
237237
await _hostApi.resumeVideoRecording();
238238
}
239239

240+
@override
241+
bool supportsImageStreaming() => true;
242+
240243
@override
241244
Stream<CameraImageData> onStreamedFrameAvailable(int cameraId,
242245
{CameraImageStreamOptions? options}) {

packages/camera/camera_avfoundation/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: camera_avfoundation
22
description: iOS implementation of the camera plugin.
33
repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_avfoundation
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
5-
version: 0.9.17+7
5+
version: 0.9.18
66

77
environment:
88
sdk: ^3.4.0
@@ -17,7 +17,7 @@ flutter:
1717
dartPluginClass: AVFoundationCamera
1818

1919
dependencies:
20-
camera_platform_interface: ^2.7.0
20+
camera_platform_interface: ^2.9.0
2121
flutter:
2222
sdk: flutter
2323
stream_transform: ^2.0.0

packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,10 @@ void main() {
674674
verify(mockApi.resumePreview());
675675
});
676676

677+
test('Should report support for image streaming', () async {
678+
expect(camera.supportsImageStreaming(), true);
679+
});
680+
677681
test('Should start streaming', () async {
678682
final StreamSubscription<CameraImageData> subscription = camera
679683
.onStreamedFrameAvailable(cameraId)

0 commit comments

Comments
 (0)