* gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO
@ 2010-05-13 15:58 Frank Schaefer
2010-05-14 6:00 ` Jean-Francois Moine
0 siblings, 1 reply; 4+ messages in thread
From: Frank Schaefer @ 2010-05-13 15:58 UTC (permalink / raw)
To: linux-media
Hi,
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 ?
Regards,
Frank Schaefer
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO
2010-05-13 15:58 gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO Frank Schaefer
@ 2010-05-14 6:00 ` Jean-Francois Moine
2010-05-14 7:26 ` Hans de Goede
0 siblings, 1 reply; 4+ messages in thread
From: Jean-Francois Moine @ 2010-05-14 6:00 UTC (permalink / raw)
To: Frank Schaefer; +Cc: linux-media
On Thu, 13 May 2010 17:58:49 +0200
Frank Schaefer <fschaefer.oss@googlemail.com> 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.
Thanks.
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO
2010-05-14 6:00 ` Jean-Francois Moine
@ 2010-05-14 7:26 ` Hans de Goede
2010-05-14 18:44 ` Frank Schaefer
0 siblings, 1 reply; 4+ messages in thread
From: Hans de Goede @ 2010-05-14 7:26 UTC (permalink / raw)
To: Jean-Francois Moine; +Cc: Frank Schaefer, linux-media
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@googlemail.com> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO
2010-05-14 7:26 ` Hans de Goede
@ 2010-05-14 18:44 ` Frank Schaefer
0 siblings, 0 replies; 4+ messages in thread
From: Frank Schaefer @ 2010-05-14 18:44 UTC (permalink / raw)
To: Hans de Goede; +Cc: Jean-Francois Moine, linux-media
Hans de Goede schrieb:
> 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@googlemail.com> 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.
Urgh, sorry, of course jpeg is not mpeg !
So the device *should* not stop sending frames, which means that I will
have to find out what's exactly going on in the kernel...
Will need some time, I don't have permanent access to this device.
Thanks so far,
Frank
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-14 18:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-13 15:58 gspca-sonixj: ioctl VIDIOC_DQBUF blocks for 3s and retuns EIO Frank Schaefer
2010-05-14 6:00 ` Jean-Francois Moine
2010-05-14 7:26 ` Hans de Goede
2010-05-14 18:44 ` Frank Schaefer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).