Browse Source

V4L/DVB (13816): gspca - main: Set the current frame pointer when first qbuf.

When not set, some images could be lost.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jean-Francois Moine 15 years ago
parent
commit
8c32aa5945
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/media/video/gspca/gspca.c

+ 2 - 0
drivers/media/video/gspca/gspca.c

@@ -1815,6 +1815,8 @@ static int vidioc_qbuf(struct file *file, void *priv,
 	/* put the buffer in the 'queued' queue */
 	i = gspca_dev->fr_q;
 	gspca_dev->fr_queue[i] = index;
+	if (gspca_dev->fr_i == i)
+		gspca_dev->cur_frame = frame;
 	gspca_dev->fr_q = (i + 1) % gspca_dev->nframes;
 	PDEBUG(D_FRAM, "qbuf q:%d i:%d o:%d",
 		gspca_dev->fr_q,