目前在Android N中跑通了usb camera的流程,但是遇到热插拔后无法打开的问题。
Log中提示:
open /dev/video4 = -1
Could not open /dev/video4: Device or resource busy (16)
没头绪,各位大神有遇到类似的情况吗?

解决方案 »

  1.   

    通过跟踪log,发现在uvc_v4l2.c
    uvc_v4l2_open()中的usb_autopm_get_interface()函数返回一个错误值.
           ret = usb_autopm_get_interface(stream->dev->intf);
           printk("uvc_v4l2_open ret = %d", ret);
           if (ret < 0)
                  return ret;
    log:uvc_v4l2_open ret = -16
      

  2.   

    自己顶一下。V4L2支持热插拔,插拔之后/dev/video4会存在,但是就是没法操作。log中显示设备忙无法操作,跟踪kernel的log发现在uvc_v4l2.c
    uvc_v4l2_open()中的usb_autopm_get_interface()函数返回一个错误值.
           ret = usb_autopm_get_interface(stream->dev->intf);
           printk("uvc_v4l2_open ret = %d", ret);
           if (ret < 0)
                  return ret;
    log:uvc_v4l2_open ret = -16难道是USB供电问题?