Re: gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 05/14/2010 08:00 AM, Jean-Francois Moine wrote:
On Thu, 13 May 2010 17:58:49 +0200
Frank Schaefer<fschaefer.oss@xxxxxxxxxxxxxx>  wrote:

I'm not sure if I'm hitting a bug or this is the expected driver
behavior: With a Microsoft LifeCam VX-3000 (045e:00f5) and
gspca-sonixj, ioctl VIDIOC_DQBUF intermittently blocks for exactly 3
seconds and then returns EIO.
I noticed that it strongly depends on the captured scenery: when it's
changing much, everything is fine.
But when for example capturing the wall under constant (lower) light
conditions, I'm getting this error nearly permanently.

It's a JPEG-device, so I guess the device stops sending data if the
picture doesn't change and that's how it should be.
But is the long blocking + EIO the way drivers should handle this
situtation ?

Hello Frank,

You are right, this is a bug. I did not know that a webcam could suspend
streaming when the image did not change. I will remove the timeout.


The way jpeg works mandates that for each block some data still needs to
be generated even if it is a solid color, moreover as these cams do jpeg
not mpeg, there is no delta towards the previous frame. So the cam should
not stop streaming if it doe timing out and returning -EIO is appropriate.

Thus we should not remove the DQBUF timeout IMHO.

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux