[camera] Support setJpegImageQuality on web and Windows
- Dominant language
- Dart
- Stars
- 179k
- Forks
- 31.1k
- PR merge metrics
- PR metrics pending
Description
### Use case
`camera_platform_interface` 2.13.0 added `setJpegImageQuality(int cameraId, int quality)` for controlling JPEG compression quality of still image capture, and it is implemented in `camera_android_camerax` (0.7.4) and `camera_avfoundation` (0.10.2).
In `camera_platform_interface` 2.13.1 the default implementation is a no-op, so calling it on a platform that has not implemented it silently does nothing rather than throwing. That keeps the app-facing `CameraController.setJpegImageQuality` safe to call everywhere, but it also means there is currently no way for a developer to tell where the setting actually takes effect.
### Proposal
Implement `setJpegImageQuality` in the remaining camera implementation packages:
- [ ] `camera_web`
- [ ] `camera_windows`
This issue is linked from the `CameraController.setJpegImageQuality` dartdoc so that developers have one place to check the current state of platform support.
Related: https://github.com/flutter/flutter/issues/183229, https://github.com/flutter/packages/pull/11155
Contributor guide
Research direction
Start by reading the camera_platform_interface setJpegImageQuality API and comparing its existing implementations in camera_android_camerax and camera_avfoundation. Then inspect the camera_web and camera_windows package entry points, and consider the work done when both implementation packages support the method and their support checkboxes can be marked complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- desktop-dev, web-dev
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100