justinjoy / gst-android-camera

GNU Lesser General Public License v2.1
32 stars 9 forks source link

gst_ah_camera_open Failed to call android.hardware.Camera.open: #1

Closed DrMughal closed 7 years ago

DrMughal commented 7 years ago

Hi,

I am trying to test this app on Android-23. It installed fine, however it does not open the camea and gives the follwing error.

09-05 23:51:42.477 25832-25832/? E/GStreamer+ahc: 0:00:00.965706458 0xb2ab9380 gst-android-hardware-camera.c:2337:gst_ah_camera_open Failed to call android.hardware.Camera.open: Failed to call static Java method: java.lang.RuntimeException: Fail to connect to camera service java.lang.RuntimeException: Fail to connect to camera service at android.hardware.Camera.(Camera.java:568) at android.hardware.Camera.open(Camera.java:405) at org.freedesktop.gstreamer.camera.GstAhc.nativePlay(Native Method) at org.freedesktop.gstreamer.camera.GstAhc.onGStreamerInitialized(GstAhc.java:194) at org.freedesktop.gstreamer.camera.GstAhc.nativeSurfaceInit(Native Method) at org.freedesktop.gstreamer.camera.GstAhc.surfaceChanged(GstAhc.java:150) at android.view.SurfaceView.updateWindow(SurfaceView.java:732) at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:209) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1014) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2510) at android.view.ViewRootImpl.doTraversal(ViewRo 09-05 23:51:42.477 25832-25832/? W/GStreamer+ahcsrc: 0:00:00.965988958 0xb2ab9380 gstahcsrc.c:2192:gst_ahc_src_open: error: Unable to open device '0'. 09-05 23:51:42.477 25832-25873/? E/GStreamer+camera-test: 0:00:00.967246562 0xb31a4d40 /Users/Mudassar/Documents/D/dev/gst-android-camera-master/app/src/main/jni/android_camera.c:133:on_error Failed to call Java method 09-05 23:51:57.567 25832-25832/? E/GStreamer+ahc: 0:00:16.058318223 0xb2ab9380 gst-android-hardware-camera.c:2337:gst_ah_camera_open Failed to call android.hardware.Camera.open: Failed to call static Java method: java.lang.RuntimeException: Fail to connect to camera service java.lang.RuntimeException: Fail to connect to camera service at android.hardware.Camera.(Camera.java:568) at android.hardware.Camera.open(Camera.java:405) at org.freedesktop.gstreamer.camera.GstAhc.nativePlay(Native Method) at org.freedesktop.gstreamer.camera.GstAhc.togglePlay(GstAhc.java:137) at org.freedesktop.gstreamer.camera.CameraActivity$7.onClick(CameraActivity.java:142) at android.view.View.performClick(View.java:5697) at android.view.View$PerformClick.run(View.java:22526) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7225) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Z 09-05 23:51:57.567 25832-25832/? W/GStreamer+ahcsrc: 0:00:16.059786140 0xb2ab9380 gstahcsrc.c:2192:gst_ahc_src_open: error: Unable to open device '0'. 09-05 23:51:57.577 25832-25873/? E/GStreamer+camera-test: 0:00:16.067325359 0xb31a4d40 /Users/Mudassar/Documents/D/dev/gst-android-camera-master/app/src/main/jni/android_camera.c:133:on_error Failed to call Java method 09-05 23:51:58.737 25832-25832/? E/GStreamer+ahc: 0:00:17.224279941 0xb2ab9380 gst-android-hardware-camera.c:2337:gst_ah_camera_open Failed to call android.hardware.Camera.open: Failed to call static Java method: java.lang.RuntimeException: Fail to connect to camera service java.lang.RuntimeException: Fail to connect to camera service at android.hardware.Camera.(Camera.java:568) at android.hardware.Camera.open(Camera.java:405) at org.freedesktop.gstreamer.camera.GstAhc.nativePlay(Native Method) at org.freedesktop.gstreamer.camera.GstAhc.togglePlay(GstAhc.java:137) at org.freedesktop.gstreamer.camera.CameraActivity$7.onClick(CameraActivity.java:142) at android.view.View.performClick(View.java:5697) at android.view.View$PerformClick.run(View.java:22526) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7225) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Z

justinjoy commented 7 years ago

Thank you for bug reporting.

I think you might need to grant Camera permission to this app. Usually, you can find the option in Settings -> Application -> GstAndroidCamera -> Permissions. However, my attached commit would help fix the problem, too.

To be sure, could you share your result here?

DrMughal commented 7 years ago

Thanks,
It was about handling of permissions in runtime. I fixed this with the help of the following answer.

https://stackoverflow.com/questions/36349130/how-to-access-camera-in-android-6-0-marshmallow/36349220

justinjoy commented 7 years ago

That's good :).