KillerInk / FreeDcam

FreeDcam is a CameraApp for Android >4.0(ics) wich try to enable stuff that is forgotten by the manufacturs
GNU General Public License v2.0
294 stars 45 forks source link

Crash when zooming for an aux sensor #211

Open Iey4iej3 opened 1 year ago

Iey4iej3 commented 1 year ago

Describe the bug The app crashes when I zoom an aux camera.

To Reproduce Steps to reproduce the behavior:

  1. Switch to Back Camera 4.
  2. Switch the zooming level

Expected behavior Perform a proper zooming

Screenshots If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

logcat:

FATAL EXCEPTION: CaptureSessionHandler
Process: troop.com.freedcam, PID: 9236
java.lang.IllegalArgumentException: x must be nonnegative
    at com.android.internal.util.Preconditions.checkArgumentNonnegative(Preconditions.java:324)
    at android.hardware.camera2.params.MeteringRectangle.<init>(MeteringRectangle.java:92)
    at android.hardware.camera2.marshal.impl.MarshalQueryableMeteringRectangle$MarshalerMeteringRectangle.unmarshal(MarshalQueryableMeteringRectangle.java:67)
    at android.hardware.camera2.marshal.impl.MarshalQueryableMeteringRectangle$MarshalerMeteringRectangle.unmarshal(MarshalQueryableMeteringRectangle.java:35)
    at android.hardware.camera2.marshal.impl.MarshalQueryableArray$MarshalerArray.unmarshal(MarshalQueryableArray.java:157)
    at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:611)
    at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:471)
    at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:447)
    at android.hardware.camera2.CaptureResult.getProtected(CaptureResult.java:331)
    at android.hardware.camera2.CaptureResult.getProtected(CaptureResult.java:54)
    at android.hardware.camera2.CameraMetadata.getKeys(CameraMetadata.java:199)
    at android.hardware.camera2.CameraMetadata.getKeys(CameraMetadata.java:146)
    at android.hardware.camera2.CaptureResult.getKeys(CaptureResult.java:364)
    at freed.cam.apis.camera2.CameraValuesChangedCaptureCallback.processQcomAEValues(CameraValuesChangedCaptureCallback.java:450)
    at freed.cam.apis.camera2.CameraValuesChangedCaptureCallback.onCaptureCompleted(CameraValuesChangedCaptureCallback.java:219)
    at android.hardware.camera2.impl.CameraCaptureSessionImpl$1.lambda$onCaptureCompleted$3$CameraCaptureSessionImpl$1(CameraCaptureSessionImpl.java:693)
    at android.hardware.camera2.impl.CameraCaptureSessionImpl$1$$ExternalSyntheticLambda6.run(Unknown Source:8)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.os.HandlerThread.run(HandlerThread.java:67)
Iey4iej3 commented 1 year ago

Seemingly the specific Camera ID does not support zooming, but this is not recognized by FreeDCam.