Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The idea of this pull is to make decoding capability as a plugin. #107

Open
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

programatix
Copy link

@programatix programatix commented Nov 8, 2023

The decoding capability doesn't necessarily be for barcode. Perhaps face recognition, fingerprint scanning and 3rd party secure code.

Changes made

  • Removed ZXing from Camera.MAUI and moved it into a new project as plugin.
  • Added Google MLKit as a new project as plugin.

Removed ZXing from Camera.MAUI and move it into a new project as plugin.

Added Google MLKit as a new project as plugin.
@programatix programatix changed the title The idea of this pull is to make barcode capability as a plugin. The idea of this pull is to make decoding capability as a plugin. Nov 9, 2023
- Rebased barcode to plugin with barcode inherited from plugin.
…e converted image will cause ram overflow and system to crash.
Added Vibrate on decoded option.
- Replaced UIGraphics.GetCurrentContext with UIGraphicsImageRenderer (iOS).
- Updated Readme.md
@kfrancis
Copy link

This would be amazing. Would love to see a Tesseract plugin for OCR on image data.

- .NET 8.0 requires iOS SDK 17 which only supported by Xcode 15 where MacOS Ventura is the minimum MacOS version. Older MacBooks are limited to Xcode 14.2 due to this.
…meraView.

- In iOS where when ProcessPlugin (previously ProcessQR) is executed, the UI freezes due to the decoding process running on main thread.
- AVCapturePhotoOutput.GetJpegPhotoDataRepresentation is obsolete. Replaced with AVCapturePhoto.FileDataRepresentation.
- Performed Code Cleanup.
- Added additional fixes when camera is mirrored.
… plugin.

- CameraView.PluginDecoder and CameraView.PluginDecoders are independent from each other and if both are set, the plugins in both of the properties will be executed.
- The crashes are caused by race conditions due to events raised late. One such example, the user switch from back camera to front and immediately to back again. When switching to front camera an event chain would trigger a start preview but sometimes it wasn't executed before the user switch the camera to back, thus the start preview handler would start a closed or disposed camera. I use "lock" for this purpose.
- Changed CameraProperty, AutoStartPreviewProperty and AutoStartRecordingProperty to two way binding by default.
- Updated CameraChanged to auto start preview/recording if the properties are enabled.
…for Android.

- If torch is enabled, it will attempt to turn it on whenever the active camera is changed.
- Replaced ScalerCropRegion to ControlZoomRatio for Android version 30 and above.
- Fixed the crop region calculation (based on https://stackoverflow.com/a/52570810) where when zoomed with larger value, the crop result is incorrect.
…n the thread limit has reached. In addition to that, plugin defined in PluginDecoder will be excluded from being executed if it also exists in PluginDecoders.
…cured even when the thread limit has reached.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants