Fixed
Status Update
Comments
le...@google.com <le...@google.com> #2
Thanks for filing the issue.
This is a particularly hard device to come by - do you happen to have access to the device? If so could you provide us with the output of: adb shell dumpsys media.camera > info.txt
Thanks!
This is a particularly hard device to come by - do you happen to have access to the device? If so could you provide us with the output of: adb shell dumpsys media.camera > info.txt
Thanks!
do...@gmail.com <do...@gmail.com> #3
Similar stacktrace reported to the email group
Stacktrace:
Caused by: java.lang.IllegalArgumentException: Can not get supported output size under supported maximum for the format: 34
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes(SupportedSurfaceCombination.java:355)
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions(SupportedSurfaceCombination.java:197)
at androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions(Camera2DeviceSurfaceManager.java:198)
at androidx.camera.core.CameraX.calculateSuggestedResolutions(CameraX.java:943)
at androidx.camera.core.CameraX.bindToLifecycle(CameraX.java:293)
at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:227)
Below are some findings based on our debugging
When Dex is connected
previewConfig.getMaxResolution() is returning "731x411" as maxSize.
Inside Preview.Builder.build() -> Default_MAX_resolution is set to "CameraX.getSurfaceManager().getPreviewSize()" which is 731x411
this is being picked as maxSize.
While rendering maxSize is 731x411 and minSize is 640x480 and below are available outputSizes
0 = {Size@11860} "4032x3024"
1 = {Size@11861} "3984x2988"
2 = {Size@11862} "4032x2268"
3 = {Size@11863} "3024x3024"
4 = {Size@11864} "2976x2976"
5 = {Size@11865} "3840x2160"
6 = {Size@11866} "3264x2448"
7 = {Size@11867} "4032x1960"
8 = {Size@11868} "2880x2160"
9 = {Size@11869} "3264x1836"
10 = {Size@11870} "2160x2160"
11 = {Size@11871} "2560x1440"
12 = {Size@11872} "2224x1080"
13 = {Size@11873} "2048x1152"
14 = {Size@11874} "1920x1080"
15 = {Size@11875} "1440x1080"
16 = {Size@11876} "1088x1088"
17 = {Size@11877} "1280x720"
18 = {Size@11878} "1024x768"
19 = {Size@11879} "1056x704"
20 = {Size@11880} "960x720"
21 = {Size@11881} "960x540"
22 = {Size@11882} "720x720"
23 = {Size@11883} "800x450"
24 = {Size@11884} "720x480"
25 = {Size@11885} "640x480"
26 = {Size@11886} "352x288"
27 = {Size@11887} "320x240"
28 = {Size@11888} "256x144"
29 = {Size@11889} "176x144"
and couldn't find any size in this range.
When Dex not connected
minsize = 640x480
maxsize = 1920x1080
0 = {Size@11836} "4032x3024"
1 = {Size@11837} "3984x2988"
2 = {Size@11838} "4032x2268"
3 = {Size@11839} "3024x3024"
4 = {Size@11840} "2976x2976"
5 = {Size@11841} "3840x2160"
6 = {Size@11842} "3264x2448"
7 = {Size@11843} "4032x1960"
8 = {Size@11844} "2880x2160"
9 = {Size@11845} "3264x1836"
10 = {Size@11846} "2160x2160"
11 = {Size@11847} "2560x1440"
12 = {Size@11848} "2224x1080"
13 = {Size@11849} "2048x1152"
14 = {Size@11850} "1920x1080"
15 = {Size@11851} "1440x1080"
16 = {Size@11852} "1088x1088"
17 = {Size@11853} "1280x720"
18 = {Size@11854} "1024x768"
19 = {Size@11855} "1056x704"
20 = {Size@11856} "960x720"
21 = {Size@11857} "960x540"
22 = {Size@11858} "720x720"
23 = {Size@11859} "800x450"
24 = {Size@11860} "720x480"
25 = {Size@11861} "640x480"
26 = {Size@11862} "352x288"
27 = {Size@11863} "320x240"
28 = {Size@11864} "256x144"
29 = {Size@11865} "176x144"
and we have 12 available sizes in this range
Camera2DeviceSurfaceManager.java:: getPreviewSize()
mCameraSupportedSurfaceCombinationMap.get(cameraId).getSurfaceDefinition().getPreviewSize() = "1920x1080"
cameraId=0
Stacktrace:
Caused by: java.lang.IllegalArgumentException: Can not get supported output size under supported maximum for the format: 34
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes(SupportedSurfaceCombination.java:355)
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions(SupportedSurfaceCombination.java:197)
at androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions(Camera2DeviceSurfaceManager.java:198)
at androidx.camera.core.CameraX.calculateSuggestedResolutions(CameraX.java:943)
at androidx.camera.core.CameraX.bindToLifecycle(CameraX.java:293)
at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:227)
Below are some findings based on our debugging
When Dex is connected
previewConfig.getMaxResolution() is returning "731x411" as maxSize.
Inside Preview.Builder.build() -> Default_MAX_resolution is set to "CameraX.getSurfaceManager().getPreviewSize()" which is 731x411
this is being picked as maxSize.
While rendering maxSize is 731x411 and minSize is 640x480 and below are available outputSizes
0 = {Size@11860} "4032x3024"
1 = {Size@11861} "3984x2988"
2 = {Size@11862} "4032x2268"
3 = {Size@11863} "3024x3024"
4 = {Size@11864} "2976x2976"
5 = {Size@11865} "3840x2160"
6 = {Size@11866} "3264x2448"
7 = {Size@11867} "4032x1960"
8 = {Size@11868} "2880x2160"
9 = {Size@11869} "3264x1836"
10 = {Size@11870} "2160x2160"
11 = {Size@11871} "2560x1440"
12 = {Size@11872} "2224x1080"
13 = {Size@11873} "2048x1152"
14 = {Size@11874} "1920x1080"
15 = {Size@11875} "1440x1080"
16 = {Size@11876} "1088x1088"
17 = {Size@11877} "1280x720"
18 = {Size@11878} "1024x768"
19 = {Size@11879} "1056x704"
20 = {Size@11880} "960x720"
21 = {Size@11881} "960x540"
22 = {Size@11882} "720x720"
23 = {Size@11883} "800x450"
24 = {Size@11884} "720x480"
25 = {Size@11885} "640x480"
26 = {Size@11886} "352x288"
27 = {Size@11887} "320x240"
28 = {Size@11888} "256x144"
29 = {Size@11889} "176x144"
and couldn't find any size in this range.
When Dex not connected
minsize = 640x480
maxsize = 1920x1080
0 = {Size@11836} "4032x3024"
1 = {Size@11837} "3984x2988"
2 = {Size@11838} "4032x2268"
3 = {Size@11839} "3024x3024"
4 = {Size@11840} "2976x2976"
5 = {Size@11841} "3840x2160"
6 = {Size@11842} "3264x2448"
7 = {Size@11843} "4032x1960"
8 = {Size@11844} "2880x2160"
9 = {Size@11845} "3264x1836"
10 = {Size@11846} "2160x2160"
11 = {Size@11847} "2560x1440"
12 = {Size@11848} "2224x1080"
13 = {Size@11849} "2048x1152"
14 = {Size@11850} "1920x1080"
15 = {Size@11851} "1440x1080"
16 = {Size@11852} "1088x1088"
17 = {Size@11853} "1280x720"
18 = {Size@11854} "1024x768"
19 = {Size@11855} "1056x704"
20 = {Size@11856} "960x720"
21 = {Size@11857} "960x540"
22 = {Size@11858} "720x720"
23 = {Size@11859} "800x450"
24 = {Size@11860} "720x480"
25 = {Size@11861} "640x480"
26 = {Size@11862} "352x288"
27 = {Size@11863} "320x240"
28 = {Size@11864} "256x144"
29 = {Size@11865} "176x144"
and we have 12 available sizes in this range
Camera2DeviceSurfaceManager.java:: getPreviewSize()
mCameraSupportedSurfaceCombinationMap.get(cameraId).getSurfaceDefinition().getPreviewSize() = "1920x1080"
cameraId=0
le...@google.com <le...@google.com> #4
Hi virifi129,
The issue root cause is that CameraX will default filter out sizes smaller than 640x480. For Preview, the max size will be limited to under display size. I checked the HW spec info for the issue related devices. Display size of FUJITSU F-04J/F-05J is 360x640. That will result int that no size exists in the conditions that is larger or equal to 640x480 and smaller or equal to 360x640.
A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
For device FUJITSU arrowsM04, I checked its HW spec info and its display size I found is 1280x720. It seems that the problem should not exist in the device.
Could you confirm that the problem exist on arrowsM04 device? What will be the returned value when using Display#getRealSize to obtain the display size?
The issue root cause is that CameraX will default filter out sizes smaller than 640x480. For Preview, the max size will be limited to under display size. I checked the HW spec info for the issue related devices. Display size of FUJITSU F-04J/F-05J is 360x640. That will result int that no size exists in the conditions that is larger or equal to 640x480 and smaller or equal to 360x640.
A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
For device FUJITSU arrowsM04, I checked its HW spec info and its display size I found is 1280x720. It seems that the problem should not exist in the device.
Could you confirm that the problem exist on arrowsM04 device? What will be the returned value when using Display#getRealSize to obtain the display size?
le...@google.com <le...@google.com> #5
Sorry for the late reply.
> A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
OK. I will try it.
> Could you confirm that the problem exist on arrowsM04 device?
We receive the crash report (Crashlytics) that this crash has occurred on arrowsM04.
We don't have this device so we can't confirm that the problem really exist on arrowsM04.
> What will be the returned value when using Display#getRealSize to obtain the display size?
We can't investigate it for the same reason.
Thank you.
> A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
OK. I will try it.
> Could you confirm that the problem exist on arrowsM04 device?
We receive the crash report (Crashlytics) that this crash has occurred on arrowsM04.
We don't have this device so we can't confirm that the problem really exist on arrowsM04.
> What will be the returned value when using Display#getRealSize to obtain the display size?
We can't investigate it for the same reason.
Thank you.
le...@google.com <le...@google.com> #6
Root cause:
This issue happened on devices that the display size is smaller than 640x480. In original auto-resolution mechanism, supported sizes smaller than 640x480 will be default filter out.
The auto-resolution mechanism encodes the guaranteed configurations tables in CameraDevice#createCaptureSession(SessionConfiguration). It defines that the PREVIEW size is the small one of the device display size and 1080p. The PREVIEW size will be the maximal size limitation for Preview use case. The reason it limits the size to display size and 1080p is the stream output in display size or 1080p has been able to provide good enough preview quality. Therefore, auto-resolution mechanism will limit the selected size to be smaller than the small one of the device display size and 1080p.
With above two conditions, in this issue, all sizes smaller than 640x480 have been filter out, therefore, there is no size smaller than the display size 320x240 can be selected to use. And cause the exception.
Solution:
When the display size is smaller than 640x480, auto-resolution mechanism won't filter out those small sizes smaller than 640x480. This makes those small size be left and can be selected for the Preview use case on small display devices.
The solution has been merged and will be included in next CameraX release.
This issue happened on devices that the display size is smaller than 640x480. In original auto-resolution mechanism, supported sizes smaller than 640x480 will be default filter out.
The auto-resolution mechanism encodes the guaranteed configurations tables in CameraDevice#createCaptureSession(SessionConfiguration). It defines that the PREVIEW size is the small one of the device display size and 1080p. The PREVIEW size will be the maximal size limitation for Preview use case. The reason it limits the size to display size and 1080p is the stream output in display size or 1080p has been able to provide good enough preview quality. Therefore, auto-resolution mechanism will limit the selected size to be smaller than the small one of the device display size and 1080p.
With above two conditions, in this issue, all sizes smaller than 640x480 have been filter out, therefore, there is no size smaller than the display size 320x240 can be selected to use. And cause the exception.
Solution:
When the display size is smaller than 640x480, auto-resolution mechanism won't filter out those small sizes smaller than 640x480. This makes those small size be left and can be selected for the Preview use case on small display devices.
The solution has been merged and will be included in next CameraX release.
wu...@google.com <wu...@google.com>
ap...@google.com <ap...@google.com> #7
Hello.
This crash still occurs.
- CAMERAX VERSION: 1.0.0-beta4
- ANDROID OS BUILD NUMBER: Android 7.1.1
- DEVICE NAME: FUJITSU F-02H
We receive following crash report from FUJITSU F-02H. So far We have received this crash report only from F-02H.
java.lang.IllegalArgumentException
Can not get supported output size under supported maximum for the format: 34
androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes (SupportedSurfaceCombination.java:349)
androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions (SupportedSurfaceCombination.java:197)
androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions (Camera2DeviceSurfaceManager.java:198)
androidx.camera.core.CameraX.calculateSuggestedResolutions (CameraX.java:949)
androidx.camera.core.CameraX.bindToLifecycle (CameraX.java:351)
androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle (ProcessCameraProvider.java:230)
(our application's package name).CameraFragment.bindCameraUseCases (CameraFragment.java:174)
Description
1.0.0-beta01
CAMERA APPLICATION NAME AND VERSION:
CameraXBasic with modification to have torch always on
ANDROID OS BUILD NUMBER:
QQ2A.200305.002
DEVICE NAME:
Pixel 3a
DESCRIPTION:
Enabling torch after camera binding is not reliable. It always works only for the first Activity launch, but when returning to the same Activity is not working correctly.
LIST ANY EXPERIMENTAL FEATURES:
N/A
STEPS TO REPRODUCE:
1. Launch the example app with modification below, which enables torch after binding.
2. Navigate to Gallery.
3. Go Back to camera preview.
OBSERVED RESULTS:
A torch is switched off.
EXPECTED RESULTS:
A torch is always on.
REPRODUCIBILITY:
5 of 5
ADDITIONAL INFORMATION:
Log from opening app (torch is on) -> Gallery (then Back button) -> camera (torch is off):
CameraXBasic: Screen metrics: 1080 x 2220
CameraXBasic: Preview aspect ratio: 1
CameraRepository: Added camera: 0
UseCaseAttachState: Active and online use case: [] for camera: 0
CameraRepository: Added camera: 1
UseCaseAttachState: Active and online use case: [] for camera: 1
UseCaseAttachState: Active and online use case: [] for camera: 0
Camera: Use cases [ImageCapture:androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, Preview:androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, ImageAnalysis:androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] now ONLINE for camera 0
UseCaseAttachState: Active and online use case: [] for camera: 0
Camera: Resetting Capture Session
Camera: releasing session in state INITIALIZED
Camera: Transitioning camera internal state: INITIALIZED --> OPENING
Camera: Opening camera: 0
UseCaseAttachState: All use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
Camera: Use case ImageCapture:androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b] for camera: 0
Camera: Use case Preview:androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf] for camera: 0
Camera: Use case ImageAnalysis:androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
Camera: CameraDevice.onOpened(): 0
Camera: Transitioning camera internal state: OPENING --> OPENED
UseCaseAttachState: All use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
CaptureSession: Opening capture session.
CaptureSession: Attempting to send capture request onConfigured
CaptureSession: Issuing request for session.
CaptureSession: CameraCaptureSession.onConfigured() mState=OPENED
CaptureSession: CameraCaptureSession.onReady() OPENED
Camera: Use cases [ImageCapture:androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, Preview:androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, ImageAnalysis:androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] now OFFLINE for camera 0
Camera: Resetting Capture Session
Camera: releasing session in state OPENED
Camera: Closing camera: 0
Camera: Transitioning camera internal state: OPENED --> CLOSING
Camera: Resetting Capture Session
Camera: releasing session in state CLOSING
UseCaseAttachState: Active and online use case: [] for camera: 0
UseCaseAttachState: Active and online use case: [] for camera: 0
Camera: issue capture request for camera 0
UseCaseAttachState: Active and online use case: [] for camera: 0
CaptureSession: CameraCaptureSession.onClosed()
Camera: CameraDevice.onClosed(): 0
Camera: Transitioning camera internal state: CLOSING --> INITIALIZED
Camera: Use cases [ImageCapture:androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, Preview:androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, ImageAnalysis:androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] now ONLINE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
Camera: Resetting Capture Session
Camera: releasing session in state INITIALIZED
Camera: Transitioning camera internal state: INITIALIZED --> OPENING
Camera: Opening camera: 0
UseCaseAttachState: All use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
Camera: CameraDevice.onOpened(): 0
Camera: Transitioning camera internal state: OPENING --> OPENED
UseCaseAttachState: All use case: [androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] for camera: 0
CaptureSession: Opening capture session.
CameraXBasic: Screen metrics: 1080 x 2220
CameraXBasic: Preview aspect ratio: 1
Camera: Use cases [ImageCapture:androidx.camera.core.ImageCapture-0adade8a-60ab-4b3e-8b97-370ff318f73b, Preview:androidx.camera.core.Preview-c3e392d8-57ad-40a2-989e-b56ebd134eaf, ImageAnalysis:androidx.camera.core.ImageAnalysis-1671baa6-a5f8-45f0-9bb7-dab949c97b3b] now OFFLINE for camera 0
Camera: Resetting Capture Session
Camera: releasing session in state OPENED
Camera: Closing camera: 0
Camera: Transitioning camera internal state: OPENED --> CLOSING
Camera: Resetting Capture Session
Camera: releasing session in state CLOSING
UseCaseAttachState: Active and online use case: [] for camera: 0
Camera: Use cases [ImageCapture:androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, ImageAnalysis:androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, Preview:androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] now ONLINE for camera 0
UseCaseAttachState: Active and online use case: [] for camera: 0
Camera: Resetting Capture Session
Camera: releasing session in state CLOSING
Camera: Transitioning camera internal state: CLOSING --> REOPENING
Camera: Transitioning camera internal state: REOPENING --> OPENED
UseCaseAttachState: All use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
Camera: Use case ImageCapture:androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a] for camera: 0
Camera: Use case ImageAnalysis:androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc] for camera: 0
Camera: Use case Preview:androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0 ACTIVE for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
CaptureSession: CameraCaptureSession.onConfigured() mState=RELEASING
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
Camera: issue capture request for camera 0
UseCaseAttachState: Active and online use case: [androidx.camera.core.ImageCapture-a07cad15-fa28-4e60-a12b-b7b572df394a, androidx.camera.core.ImageAnalysis-6e588f99-bc88-4afd-b906-17a67e514dbc, androidx.camera.core.Preview-764071db-da2c-42ff-9b85-002d632d1ac0] for camera: 0
CaptureSession: CameraCaptureSession.onReady() RELEASING
CaptureSession: Opening capture session.
CaptureSession: CameraCaptureSession.onClosed()
CaptureSession: Attempting to send capture request onConfigured
CaptureSession: Issuing request for session.
CaptureSession: Issuing capture request.
CaptureSession: CameraCaptureSession.onConfigured() mState=OPENED
CaptureSession: CameraCaptureSession.onReady() OPENED
CODE FRAGMENTS:
Use an example from
and just change binding to this:
camera = cameraProvider.bindToLifecycle(
this, cameraSelector, preview, imageCapture, imageAnalyzer)
.apply { cameraControl.enableTorch(true) }