Thanks for reaching out to the Android CameraX Discussion Group. Apologies for the delayed response.
Since this issue appears only on a specific device and the recorded video looks normal, it's likely a device-specific problem with the ImageAnalysis (YUV_420_888) stream. This suggests the device's camera might not be providing complete U/V plane data. I was able to reproduce a similar issue by manually clearing the U/V data before converting the image to a bitmap. Unfortunately, without access to the device, it's difficult to pinpoint the exact cause.
Here are a few workarounds you could try:
Use PreviewView: If your app uses or can switch to PreviewView, you can obtain a bitmap directly using
PreviewView#getBitmap(). This might bypass the problematic ImageAnalysis stream.
Separate Image Capture: If you're using ImageAnalysis for taking photos, consider adding an ImageCapture UseCase specifically for capturing still images. This would ensure proper image capture independent of the ImageAnalysis issue. You could implement this as a general solution or specifically target the OUKITEL device.
Experiment with Resolutions: Sometimes, these issues arise when the UseCases use specific set of resolutions. If possible, try using a ResolutionSelector to test various resolution combinations for Preview, VideoCapture, and ImageAnalysis. This might help identify a configuration that avoids the issue.
I hope these suggestions help! Let us know if you have any further questions or need additional assistance.