janusw / Camera.Maui

A CameraView Control for .NET Maui
MIT License
17 stars 3 forks source link

CameraAccessException / Error configuring streams: Broken pipe #17

Open janusw opened 4 months ago

janusw commented 4 months ago

Another exception that I see occasionally (apparently when turning off and on the camera too quickly) ...

Android.Hardware.Camera2.CameraAccessException: CAMERA_ERROR (3): endConfigure:766: Camera 0: Error configuring streams: Broken pipe (-32) ---> Java.Lang.RuntimeException: endConfigure:766: Camera 0: Error configuring streams: Broken pipe (-32)
  at android.os.ServiceSpecificException: endConfigure:766: Camera 0: Error configuring streams: Broken pipe (-32) (code 10)
  at at android.os.Parcel.createExceptionOrNull(Parcel.java:3083)
  at at android.os.Parcel.createException(Parcel.java:3053)
  at at android.os.Parcel.readException(Parcel.java:3036)
  at at android.os.Parcel.readException(Parcel.java:2978)
  at at android.hardware.camera2.ICameraDeviceUser$Stub$Proxy.endConfigure(ICameraDeviceUser.java:723)
  at at android.hardware.camera2.impl.ICameraDeviceUserWrapper.endConfigure(ICameraDeviceUserWrapper.java:116)
  at at android.hardware.camera2.impl.CameraDeviceImpl.configureStreamsChecked(CameraDeviceImpl.java:521)
  at at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSessionInternal(CameraDeviceImpl.java:736)
  at at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:682)
  at at crc640214d1d92795583c.MauiCameraView_MyCameraStateCallback.n_onOpened(Native Method)
  at at crc640214d1d92795583c.MauiCameraView_MyCameraStateCallback.onOpened(MauiCameraView_MyCameraStateCallback.java:40)
  at at android.hardware.camera2.impl.CameraDeviceImpl$1.run(CameraDeviceImpl.java:173)
  at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
  at at java.lang.Thread.run(Thread.java:1012)
  --- End of inner exception stack trace ---
  at Java.Interop.JniEnvironment.InstanceMethods.CallVoidMethod(JniObjectReference instance, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:20370
  at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:66
  at Android.Hardware.Camera2.CameraDevice.CreateCaptureSession(SessionConfiguration config) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Hardware.Camera2.CameraDevice.cs:470
  at at Camera.MAUI.Platforms.Android.MauiCameraView.StartPreview()
  at at Camera.MAUI.Platforms.Android.MauiCameraView.MyCameraStateCallback.OnOpened(CameraDevice camera)
  at Android.Hardware.Camera2.CameraDevice.StateCallback.n_OnOpened_Landroid_hardware_camera2_CameraDevice_(IntPtr jnienv, IntPtr native__this, IntPtr native_camera) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Hardware.Camera2.CameraDevice.cs:174
  at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPL_V(_JniMarshal_PPL_V callback, IntPtr jnienv, IntPtr klazz, IntPtr p0) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:125
  at android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): endConfigure:766: Camera 0: Error configuring streams: Broken pipe (-32)
  at at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:2022)
  at at android.hardware.camera2.impl.ICameraDeviceUserWrapper.endConfigure(ICameraDeviceUserWrapper.java:119)
  at at android.hardware.camera2.impl.CameraDeviceImpl.configureStreamsChecked(CameraDeviceImpl.java:521)
  at at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSessionInternal(CameraDeviceImpl.java:736)
  at at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:682)
  at at crc640214d1d92795583c.MauiCameraView_MyCameraStateCallback.n_onOpened(Native Method)
  at at crc640214d1d92795583c.MauiCameraView_MyCameraStateCallback.onOpened(MauiCameraView_MyCameraStateCallback.java:40)
  at at android.hardware.camera2.impl.CameraDeviceImpl$1.run(CameraDeviceImpl.java:173)
  at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
  at at java.lang.Thread.run(Thread.java:1012)
  at Caused by: android.os.ServiceSpecificException: endConfigure:766: Camera 0: Error configuring streams: Broken pipe (-32) (code 10)
  at at android.os.Parcel.createExceptionOrNull(Parcel.java:3083)
  at at android.os.Parcel.createException(Parcel.java:3053)
  at at android.os.Parcel.readException(Parcel.java:3036)
  at at android.os.Parcel.readException(Parcel.java:2978)
  at at android.hardware.camera2.ICameraDeviceUser$Stub$Proxy.endConfigure(ICameraDeviceUser.java:723)
  at at android.hardware.camera2.impl.ICameraDeviceUserWrapper.endConfigure(ICameraDeviceUserWrapper.java:116)
  at ... 9 more
andreea-buzuriu commented 3 weeks ago

I can also reproduce this issue. Did you find any workaround?