From 61415fd6f29479beee90bd315d4cf1ac497ccbf8 Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Mon, 9 Dec 2024 15:09:37 +0200 Subject: [PATCH] [camera_platform_interface] Add API support query for image streaming --- .../camera/camera_platform_interface/CHANGELOG.md | 3 ++- .../lib/src/platform_interface/camera_platform.dart | 3 +++ .../camera/camera_platform_interface/pubspec.yaml | 2 +- .../test/camera_platform_interface_test.dart | 13 +++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index d5a1fe3d934..d122ae154d0 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 2.9.0 * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. +* Adds API support query for image streaming. ## 2.8.0 diff --git a/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart b/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart index 218de02c635..78228c63693 100644 --- a/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart +++ b/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart @@ -173,6 +173,9 @@ abstract class CameraPlatform extends PlatformInterface { throw UnimplementedError('resumeVideoRecording() is not implemented.'); } + /// Check whether this platform supports image streaming via [onStreamedFrameAvailable]. + bool supportsImageStreaming() => false; + /// A new streamed frame is available. /// /// Listening to this stream will start streaming, and canceling will stop. diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 647146d980b..1f490abc564 100644 --- a/packages/camera/camera_platform_interface/pubspec.yaml +++ b/packages/camera/camera_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/camera/camera issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.8.0 +version: 2.9.0 environment: sdk: ^3.4.0 diff --git a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart index 6a8ebf65404..83e9f314b1f 100644 --- a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart +++ b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart @@ -496,6 +496,19 @@ void main() { throwsUnimplementedError, ); }); + + test( + 'Default implementation of supportsImageStreaming() should return false', + () { + // Arrange + final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + + // Act & Assert + expect( + cameraPlatform.supportsImageStreaming(), + false, + ); + }); }); group('exports', () {