Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9
-
None
Description
On Apple platforms, we have use no particular API to take still image photos. We just takes a screenshot of the on-going live camera feed. This means we can't apply any flash, focus-locking or exposure-locking for the still image capture. On the deprecated Darwin-native backend, we used AVStillImageCapture, but this API has long since been deprecated (it also has a few undesirable limitations).
We already have very fine-grained control over the still photo capture procedure on Android through the Camera2 API. Adopting this new AVFoundation API should give us similar benefits. Having similar degrees of control over camera behavior on Android and iOS is preferable for Qt. It should also make it easier for us to integrate more advanced features for QCamera in the future, such as:
- Asyncifying the still photo capture procedure (no more freezing the UI)
- Fixing bugs involving flash (see QTBUG-1291252)
- Using separate QCameraFormats for still photo and preview
This task is also important to achieve feature parity between iOS and Android.