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

Reply via email to