linux/drivers/media
Hans de Goede 6ca3f255f7 V4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all frames
While checking all gspca sub drivers pkt_scan functions for a bug I found in
1 of them (and after checking also in another), I noticed a bug in the
gspca_jeilinj work queue function, once it has decided to start discard a
frame because the application is not reading fast enough (and thus returning
buffers to fill fast enough), it never stops discarding.

This patch fixes this by simply completely removing the "discarding"
variable, if we need to discard the current frame because there is no buffer
to store it, the "frame" pointer will be NULL, so that is all we need to
check.

I've also moved the gspca_get_i_frame() call and the writing of the jpg
header to the buffer to after the first usb_bulk_msg() call, as we don't
need it before that, and that will give the app slightly more time to
queue a buffer for us to fill.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:40:31 -02:00
..
common V4L/DVB (13135): Add support for TeVii remotes 2009-12-05 18:40:29 -02:00
dvb V4L/DVB (13105): dvb-usb: add fe_ioctl_override callback to dvb_usb_adapter_properties 2009-12-05 18:40:22 -02:00
radio V4L/DVB (13073): radio-mr800: set radio frequency only upon success 2009-12-05 18:40:12 -02:00
video V4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all frames 2009-12-05 18:40:31 -02:00
Kconfig V4L/DVB (11881): one kconfig controls them all 2009-06-16 18:21:16 -03:00
Makefile V4L/DVB (8274): sms1xxx: build cleanup after driver relocation 2008-07-20 07:20:56 -03:00