Discussion:
[linux-uvc-devel] VIDIOC_DQBUF ENODEV (no such device) handling
Goshen, Ido (Ido)
2015-02-05 18:14:04 UTC
Permalink
Hi

I'm working on a V4l2 based application for UVC camera.
In case VIDIOC_DQBUF returns ENODEV is there any reason to keep on trying that fd w/o closing and reopening the device?

As a reference I looked at guvcview and vlc behavior and seems like both don't handle it and enter an error loop (I've reset the camera during capture)

guvcview:
libv4l2: error dequeuing buf: No such device
VIDIOC_DQBUF - Unable to dequeue buffer : No such device
Error grabbing image
libv4l2: error dequeuing buf: No such device
VIDIOC_DQBUF - Unable to dequeue buffer : No such device
...
Error grabbing image
libv4l2: error dequeuing buf: No such device
VIDIOC_DQBUF - Unable to dequeue buffer : No such device
Error grabbing image
libv4l2: error dequeuing buf: No such device
VIDIOC_DQBUF - Unable to dequeue buffer : No such device
Error grabbing image
libv4l2: error dequeuing buf: No such device
^C
(and so on indefinitely)

VLC:
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
...
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x7f2520000fd8] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0x24ef7f8] main playlist: stopping playback
(at least VLC gives up after a while)


Thanx,

- Ido

Loading...