Asynchronously set the stream handler to prevent a crash on iOS. Thanks to driverZhan ❤️
iPad specific bugfix for devices that do not have flash.
Fixed an issue with devices that do not have flash, thanks to roxifas ❤️
Null safety support.
Add flash, auto exposure, zoom and auto focus support for IOS and Android
- Remove the deprecated
author:
field from pubspec.yaml - Migrate the plugin to the pubspec platforms manifest.
- Require Flutter SDK 1.10.0 or greater.
- Fix example null exception.
- Fix unawaited futures.
- Android: Use CameraDevice.TEMPLATE_RECORD to improve image streaming.
- Remove AndroidX warning.
- Include lifecycle dependency as a compileOnly one on Android to resolve potential version conflicts with other transitive libraries.
- Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in
build.gradle
to support apps that has not been migrated to AndroidX.
- Add support for the v2 Android embedding. This shouldn't affect existing functionality.
- Fix event type check
- Define clang modules for iOS.
- Update and migrate iOS example project.
- Fix Android NullPointerException on devices with only front-facing camera.
- Fix Android pause and resume video crash when executing in APIs below 24.
- Add feature to pause and resume video recording.
- Fix too large request code for FragmentActivity users.
- Added new quality presets.
- Now all quality presets can be used to control image capture quality.
- Fix memory leak related to not unregistering stream handler in FlutterEventChannel when disposing camera.
- Fix bug that prevented video recording with audio.
- Added capability to disable audio for the
CameraController
. (e.g.CameraController(_, _, enableAudio: false);
)
- Can now be compiled with earlier Android sdks below 21 when
<uses-sdk tools:overrideLibrary="io.flutter.plugins.camera"/>
has been added to the projectAndroidManifest.xml
. For sdks below 21, the plugin won't be registered and calls to it will throw aMissingPluginException.
- Breaking Change This plugin no longer handles closing and opening the camera on Android
lifecycle changes. Please use
WidgetsBindingObserver
to control camera resources on lifecycle changes. See example project for example usingWidgetsBindingObserver
.
- Bump the minimum Flutter version to 1.2.0.
- Add template type parameter to
invokeMethod
calls.
- Catch additional
Exception
s from Android and throw asCameraException
s.
- Add capability to prepare the capture session for video recording on iOS.
- Add sensor orientation value to
CameraDescription
.
- Camera methods are ran in a background thread on iOS.
- Fixed a crash when the plugin is registered by a background FlutterView.
- Fix orientation of captured photos when camera is used for the first time on Android.
- Remove categories.
- Breaking Change Change iOS image stream format to
ImageFormatGroup.bgra8888
fromImageFormatGroup.yuv420
.
- Fixed bug causing black screen on some Android devices.
- Log a more detailed warning at build time about the previous AndroidX migration.
- Fix issue with calculating iOS image orientation in certain edge cases.
- Remove initial method call invocation from static camera method.
- Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
- Fix a crash when failing to start preview.
- Save photo orientation data on iOS.
- Add access to the image stream from Dart.
- Use
cameraController.startImageStream(listener)
to process the images.
- Fix issue with crash when the physical device's orientation is unknown.
- Update the camera to use the physical device's orientation instead of the UI orientation on Android.
- Fix preview and video size with satisfying conditions of multiple outputs.
- Unregister the activity lifecycle callbacks when disposing the camera.
- Added path_provider and video_player as dev dependencies because the example uses them.
- Updated example path_provider version to get Dart 2 support.
- iOS image capture is done in high quality (full camera size)
- Updated Gradle tooling to match Android Studio 3.1.2.
- Added support for video recording.
- Changed the example app to add video recording.
A lot of breaking changes in this version:
Getter changes:
- Removed
isStarted
- Renamed
initialized
toisInitialized
- Added
isRecordingVideo
Method changes:
- Renamed
capture
totakePicture
- Removed
start
(the preview starts automatically wheninitialize
is called) - Added
startVideoRecording(String filePath)
- Removed
stop
(the preview stops automatically whendispose
is called) - Added
stopVideoRecording
- Fix Dart 2 runtime errors.
- Fix Dart 2 runtime error.
- Breaking change. Set SDK constraints to match the Flutter beta release.
- Revert regression of
CameraController.capture()
introduced in v. 0.0.3.
- Improved resource cleanup on Android. Avoids crash on Activity restart.
- Made the Future returned by
CameraController.dispose()
andCameraController.capture()
actually complete on Android.
- Simplified and upgraded Android project template to Android SDK 27.
- Moved Android package to io.flutter.plugins.
- Fixed warnings from the Dart 2.0 analyzer.
- Initial release