Hello all , Laurent, I have problem that I think was encountered by many others. I have 2 2MPix uvc cameras - both working individually. Their individual resolutions range from 160x120 up to 1600x1200 frame sizes (discrete increments) and using only packed YUV formats (not MJPEG).
My need is to stream from both cameras in the same time. Maybe not at the full camera advertised speed (15, 30 fps etc) but still stream from multiple cameras. I tried to do that and I am succeeding up to query and map buffers but then when doing VIDIOC_STREAMON - the first camera starts and the second one always gets kernel: uvcvideo: Failed to submit URB 0 (-28). which seems to be linked with the usb bandwidth. Now as I tried that at 1600x1200 YUYV(packed) at around 4-5fps - that means approx 17.5 Mbytes/sec. That multiplied by 2 would of course go beyond the USB 2.0 bandwidth limit which should be practically around 32 Mbytes/sec. The issue is the same for 640x480 YUYV 30 fps which yields approx the same bandwidth. On the other hand this should work for 320x240 no matter the fps (don't think that camera cand do more than 30 fps - 30 fps is the only framerate given with ENUMFRAMESIZES for all resolutions ) as in this case even at 60 fps we get approx 9 Mbytes/sec /camera In all cases I get the same behavior - failing to submit URB ! Is there any way of making this possible ? What about for the cases where the bandwidth is exceeded ? I don't know all the details about the USB transfer protocol but my understanding is that - the driver should request a static bandwidth allocation before starting streaming. Would it be possible to force the streaming at a lower rate - maybe loosing some frames from the camera but still allow multiple camera streaming ? For ex I could supply capture buffers slower than the camera capture speed and skip frames this way. Still even using one memory mapped buffer I cannot start the capture process as STREAMON fails !
_______________________________________________ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel