Hi CameraX team,
We are seeing an CameraX failure on US Samsung devices after upgrading to Android 16.
We use CameraX 1.6.1 with an ImageAnalysis use case. Our flow is:
1. Bind ImageAnalysis using DEFAULT_FRONT_CAMERA.
2. Wait until the analyzer receives an ImageProxy.
3. Close the image.
4. Call unbindAll().
5. Bind the back camera using DEFAULT_BACK_CAMERA.
6. Wait up to three seconds for an ImageProxy.
7. If no image arrives, unbind and retry the back camera once after 500 ms.
The front camera works normally.
Binding the back camera completes without an exception. However, the analyzer never receives an ImageProxy. Retrying the bind does not recover it.
We have already checked the following:
- Every received ImageProxy is closed.
- The analyzer is registered before binding.
- We call unbindAll() before changing the camera.
- We retry with a fresh back-camera binding.
- We wait briefly after unbinding before retrying.
The issue is concentrated on Samsung US U and U1 variants:
- SM-S908U/U1 - Galaxy S22 Ultra
- SM-S916U/U1 - Galaxy S23+
- SM-S918U/U1 - Galaxy S23 Ultra
- SM-S921U/U1 - Galaxy S24
- SM-S926U/U1 - Galaxy S24+
- SM-S928U/U1 - Galaxy S24 Ultra
It became much more common after Android 16. For example, the failure rate for SM-S921U1 is 10.4%.
The problem is
not common on international Samsung variants. Only US models.
This suggests that the issue may be specific to the US camera provider or HAL implementation.
Unfortunately, we do not currently have one of the affected physical devices, so i am unable to provide a bug report.
Could you please advise if this is a known issue and any possible workarounds?