From f0aac4b6f96d71a390d468836dc69ce75d78b9d4 Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Wed, 25 Jan 2023 07:44:37 -0500 Subject: [PATCH 1/6] Add support for NV21 on android --- packages/camera/camera_platform_interface/CHANGELOG.md | 3 +++ .../lib/src/types/image_format_group.dart | 8 ++++++++ packages/camera/camera_platform_interface/pubspec.yaml | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index 64fb555a99de..f5ad034c5ab7 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,6 +1,9 @@ ## NEXT +## 2.4.0 + * Updates minimum Flutter version to 3.0. +* Adds support for NV21 image format on Android. ## 2.3.4 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 8dc69e09f58a..9d74f242bae9 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 ff024c0404ad..688a86ea8413 100644 --- a/packages/camera/camera_platform_interface/pubspec.yaml +++ b/packages/camera/camera_platform_interface/pubspec.yaml @@ -4,10 +4,10 @@ repository: https://github.com/flutter/plugins/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.3.4 +version: 2.4.0 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: ">=2.12.0 <3.0.0" flutter: ">=3.0.0" dependencies: From 21a90b76b7e64c089cabaa4dd9f06d9636b9123f Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Wed, 25 Jan 2023 07:55:19 -0500 Subject: [PATCH 2/6] Adds a unit test for nv21 enum --- .../camera_platform_interface/test/types/image_group_test.dart | 1 + 1 file changed, 1 insertion(+) 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 89585cc1ae35..fd6ce989486f 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'); }); }); From 92ac700307950d35332b951965e45ddcea6e694b Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Thu, 26 Jan 2023 08:56:43 -0500 Subject: [PATCH 3/6] Fix version number --- packages/camera/camera_platform_interface/CHANGELOG.md | 3 --- packages/camera/camera_platform_interface/pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index f5ad034c5ab7..de7053f2e273 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,7 +1,4 @@ ## NEXT - -## 2.4.0 - * Updates minimum Flutter version to 3.0. * Adds support for NV21 image format on Android. diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 688a86ea8413..1315b381b5c6 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/plugins/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.0 +version: 2.3.4 environment: sdk: ">=2.12.0 <3.0.0" From 2c610b7ecdab10608d52a79044a80530f38306bd Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Thu, 26 Jan 2023 09:05:22 -0500 Subject: [PATCH 4/6] Update pubspec.yaml --- packages/camera/camera_platform_interface/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 1315b381b5c6..688a86ea8413 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/plugins/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.3.4 +version: 2.4.0 environment: sdk: ">=2.12.0 <3.0.0" From 75ebc91aebe5c4028e0492a3028f6577fbd665d1 Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Fri, 27 Jan 2023 10:02:33 -0500 Subject: [PATCH 5/6] Update changelog --- packages/camera/camera_platform_interface/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index de7053f2e273..dab53c7651c1 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,5 +1,7 @@ ## NEXT * Updates minimum Flutter version to 3.0. + +## 2.4.0 * Adds support for NV21 image format on Android. ## 2.3.4 From 392d375e0518f6df3ec5eeacda31853c9f5d366d Mon Sep 17 00:00:00 2001 From: Andrew Coutts Date: Fri, 27 Jan 2023 10:03:16 -0500 Subject: [PATCH 6/6] Update CHANGELOG.md --- packages/camera/camera_platform_interface/CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index dab53c7651c1..02ada9601bdf 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,7 +1,5 @@ -## NEXT -* Updates minimum Flutter version to 3.0. - ## 2.4.0 +* Updates minimum Flutter version to 3.0. * Adds support for NV21 image format on Android. ## 2.3.4