two webcams on one USB bus blocking (Bug #2337)
Description
If you put two webcams on one usb port, you will get an error
libv4l2: error turning on stream: No space left on device
VIDIOC_STREAMON: No space left on device
But only if just one program is viewing the two cameras.
If two instances of camorama are running both instances work fine for each
camera.
So what is the difference between one program looking at two webcams on one USB
bus, and two programms looking at two webcams on one USB Bus.
The error shows up at line 211 function v4l2_streamon in libv4l2.c.
Looking further, Camorama uses strait open functions and ioctl whereas opencv uses v4l1_open and v4l1_ioctl
Perhaps the v4l1 layer is buggy?
Associated revisions
Merge pull request #2337 from pmoulon:master
History
Updated by Alexander Shishkov over 12 years ago
- Category set to highgui-camera
Updated by Stephen Fox over 12 years ago
I encountered this problem as well and found if you change the resolution to 320x240 using set (CV_CAP_PROP_WIDTH, 320), and set (CV_CAP_PROP_HEIGHT, 240) before opening the second camera, it works from the same program. From what I can tell it might be an issue of requesting too much bandwidth for a single device even though the bus can physically handle two cameras. I have no idea if it is v4l or the way OpenCV wraps it in the capture calls or something else.
Updated by Vadim Pisarevsky almost 10 years ago
let's cancel very old bug in a hope that they are not relevant anymore; please, reopen if they are still relevant
- Status changed from Open to Cancelled
- HW Platform set to Any
- Operating System set to Any
- Affected version set to 2.4.0 - 2.4.8