Chinaunix
标题:
借人气,问个OV511的问题
[打印本页]
作者:
3040602024
时间:
2008-04-17 10:37
标题:
借人气,问个OV511的问题
这几天一直被一个问题困饶.
就是一个简单的视频采集程序,ARM10+LINUX+网眼V2000摄象头.采集程序是网上下的,下了几个
都有一个问题,就是采集不到数据,每次采集玩一帧然后同步的时候就挂起了.
查看驱动OV511.c
死在ioctl(grab_fd, VIDIOCSYNC, &frame); 不返回了
case VIDIOCSYNC:
{ struct ov511_frame *frame;
......
rc = wait_event_interruptible(frame->wq,
(frame->grabstate == FRAME_DONE)
|| (frame->grabstate == FRAME_ERROR));
info("5147...%d\n",frame->grabstate);
......
return 0;
}
估计就在wait_event_interruptible那不动了,frame->grabstate == FRAME_DONE没满足,那么什么似的frame->grabstate == FRAME_DONE呢?
再往下,只有ov511_move_data 什么调用他呢,再往下ov51x_isoc_irq 再往下ov51x_init_isoc 再往下是ov51x_v4l1_open,就是打开视频设备的
时候调用,ov51x_isoc_irq 是URB的回调函数,每次把usb_submit_urb完成后调用.
为什么usb_submit_urb只在ov51x_init_isoc中调用一次,这个是USB等时传输,我记得批量传输每次WRITE中好象都要usb_submit_urb然后USB_CORE再把URB交给USB控制器,USB控制器处理完了后,调用回调函数,进入驱动继续运行..
那么等时是怎么样的呢,是不是只要usb_submit_urb一次,然后依据URB->INTERCAL间隔提交URB呢?
希望得到高手指导.先谢谢拉...
作者:
3040602024
时间:
2008-04-17 11:37
顶,哪位高手看看啊
作者:
涩兔子
时间:
2008-04-17 11:47
用libvlc抓取流媒体,然后再转格式,不是更好
作者:
3040602024
时间:
2008-04-17 11:58
标题:
回复 #3 涩兔子 的帖子
我还是先做个简单易懂的吧 哎 你说的那个好像太复杂啊
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2