android - QualcommCameraHardware native_get_picture : MSM_CAM_IOCTL_GET_PICTURE Connection timed out error?的源码思路

标签 android android-camera

我正在开发一个库,以使 Camera API 更易于开发人员使用。

Droid Incredible 2 在纵向模式下使用后置摄像头无法拍照。具体来说,我在 LogCat 中得到了这个序列:

08-18 09:25:52.094: E/QualcommCameraHardware(1368): native_get_picture: MSM_CAM_IOCTL_GET_PICTURE fd 25 error Connection timed out
08-18 09:25:52.094: E/QualcommCameraHardware(1368): getPicture failed!
08-18 09:25:52.094: E/QualcommCameraHardware(1368): get picture failed, giving jpeg callback with NULL data

这些消息在我在 Camera 上调用 takePicture() 大约 5 秒后出现,这与我看到的 QualcommCameraHardware 的一些旧源代码相符> 在 ioctl() 调用上设置 5000 毫秒超时以与相机硬件对话。

最终结果是 onPictureTaken() 传递了一个 null byte[] JPEG 数据,这意味着我们没有照片。

该设备在所有其他经过测试的配置中都可以与我的代码一起使用,包括使用前置摄像头在纵向模式下工作。

有没有人知道可能导致这种特定故障的具体情况?

更新

我无法再重现该错误。我会删除这个问题,但是一旦有了答案,这显然是不可能的。

最佳答案

MSM_CAM_IOCTL_GET_PICTURE 是运行函数的内核调用

static int msm_get_pic(struct msm_sync *sync, void __user *arg)

我从 HTCdev 下载了你设备的内核源代码,找到了在

中定义的函数
drivers/media/video/msm/msm_camera-7x30.c

可以在拍照时查看内核消息是什么吗?

adb shell su -c "dmesg"

关于android - QualcommCameraHardware native_get_picture : MSM_CAM_IOCTL_GET_PICTURE Connection timed out error?的源码思路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18299661/

相关文章:

android - 副 SIM 卡的 MNC 和 MCC

Android:在捕获或从图库中选取后裁剪图像

android - 如何压缩图片大小?

android - 以编程方式将属性 AlignParentRight 设置为 RelativeLayout 中的按钮不起作用?

Android R.java 没有全路径无法解析

java - 屏幕旋转后保留 fragment

android - 如何在图像切换器中启用双指缩放?

安卓视频录制 2160p

Android FileProvider 导致相机/图库随机崩溃

android - FaceDetectionListener onFaceDetection 未调用