Hi,
Thank you for your answer. I was able to reproduce problems with device
Samsung Galaxy Tab S9 5G
Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
Display size width=1600, height=2560
Available JPEG output sizes:
4128x3096
4128x2580
4128x2322
3088x3088
3840x2160
1920x1440
1920x1080
1728x1080
1920x824
1440x1080
1088x1088
1280x720
960x720
720x480
640x480
640x360
352x288
320x240
176x144
Available Video Qualities:
name=UHD, typicalSizes=[3840x2160]},
name=FHD, typicalSizes=[1920x1080]},
name=HD, typicalSizes=[1280x720]},
name=SD, typicalSizes=[720x480, 640x480]
1.
Video Capture output size problemNote: This issue is reproducible only with our custom device (screen size 1200x2000), not reprodusble with Samsung device
ViewPort is set in our application to the value:
setViewPort(
ViewPort.Builder(
sessionSettings.aspectRatio.ratio, // 16x9
previewUseCase.targetRotation // ROTATION_90
).build()
When I removed this code problem with VideoCapture dissapeared. Does it mean that we are not able to change viewport size without affecting Video Capture output size?
Problems reproducible on Samsung Galaxy Tab:
2.
When I've changed video quality to the UHD (3840x2160) application crashed with the following error: AndroidRuntime: java.lang.IllegalArgumentException: androidx.camera.core.internal.CameraUseCaseAdapter$CameraException:
java.lang.IllegalArgumentException: No supported surface combination is found for camera device - Id : 0. May be attempting to bind too many use cases.Setup is the same (Preview and ImageAnalysis set to 1920x1080, ImageCapture to the highest size (4128x3096))
Please refer to the attached bugreport. When I commented ImageAnalysis or ImageCapture use case binding - application is started and able to capture video in UHD quality.
3.
Image Capture 16x9 sizes problemWhen I shoose image size with the aspect ration 4x3 it's captured with the correct result, but for 16x9 sizes - it's never set correctly. Captured image always has 4:3 resolution
Example
1280x720 set to 1440x1080
3840x2160 set to 4128x3096
4128x2322 set to 4128x3096
Please refer to the attached log (samsung_16x9_image_capture)
4.
Setting image capture aspect ratio behaviorObserved following behavior:
I'm not setting resolution selector image size in this case, only aspect ratio strategy. When ImageCapture resolution aspect ratio strategy set to
RATIO_4_3_FALLBACK_AUTO_STRATEGY, all image output size has the highest size (4128x3096)
When ImageCapture resolution strategy set to setAspectRatioStrategy(AspectRatioStrategy.
RATIO_16_9_FALLBACK_AUTO_STRATEGY):
Captured image size is set to RECORDER output = 3840x2160 for Video Quality UHD and 4128x2322 for FHD. Is it expected behavior?
But it is not the highest image captured resolution. If I want to set the highest image capture output size should I set image size directly without any fallback resolution strategy (only with resolution filter), is it correct?
Thank you.