diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index 2c9f88181fd..e0736cac6a0 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.5.0 +* Adds NV21 as an image stream format (suitable for Android). * Aligns Dart and Flutter SDK constraints. ## 2.4.1 diff --git a/packages/camera/camera_platform_interface/lib/src/types/image_format_group.dart b/packages/camera/camera_platform_interface/lib/src/types/image_format_group.dart index 8dc69e09f58..9d74f242bae 100644 --- a/packages/camera/camera_platform_interface/lib/src/types/image_format_group.dart +++ b/packages/camera/camera_platform_interface/lib/src/types/image_format_group.dart @@ -31,6 +31,12 @@ enum ImageFormatGroup { /// On Android, this is `android.graphics.ImageFormat.JPEG`. See /// https://developer.android.com/reference/android/graphics/ImageFormat#JPEG jpeg, + + /// YCrCb format used for images, which uses the NV21 encoding format. + /// + /// On Android, this is `android.graphics.ImageFormat.NV21`. See + /// https://developer.android.com/reference/android/graphics/ImageFormat#NV21 + nv21, } /// Extension on [ImageFormatGroup] to stringify the enum @@ -46,6 +52,8 @@ extension ImageFormatGroupName on ImageFormatGroup { return 'yuv420'; case ImageFormatGroup.jpeg: return 'jpeg'; + case ImageFormatGroup.nv21: + return 'nv21'; case ImageFormatGroup.unknown: return 'unknown'; } diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 0e45cc4cb5d..7c3da2d4fc8 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.4.1 +version: 2.5.0 environment: sdk: ">=2.17.0 <4.0.0" diff --git a/packages/camera/camera_platform_interface/test/types/image_group_test.dart b/packages/camera/camera_platform_interface/test/types/image_group_test.dart index 89585cc1ae3..fd6ce989486 100644 --- a/packages/camera/camera_platform_interface/test/types/image_group_test.dart +++ b/packages/camera/camera_platform_interface/test/types/image_group_test.dart @@ -11,6 +11,7 @@ void main() { expect(ImageFormatGroup.bgra8888.name(), 'bgra8888'); expect(ImageFormatGroup.yuv420.name(), 'yuv420'); expect(ImageFormatGroup.jpeg.name(), 'jpeg'); + expect(ImageFormatGroup.nv21.name(), 'nv21'); expect(ImageFormatGroup.unknown.name(), 'unknown'); }); });