Commit 2e0544a8 authored by Jean-François Moine's avatar Jean-François Moine Committed by Mauro Carvalho Chehab

[media] gspca - main: Have discontinuous sequence numbers when frames are lost

This patch also sets to 0 the sequence of the first frame.
Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 3e9c2b84
...@@ -432,12 +432,13 @@ void gspca_frame_add(struct gspca_dev *gspca_dev, ...@@ -432,12 +432,13 @@ void gspca_frame_add(struct gspca_dev *gspca_dev,
/* if there are no queued buffer, discard the whole frame */ /* if there are no queued buffer, discard the whole frame */
if (i == atomic_read(&gspca_dev->fr_q)) { if (i == atomic_read(&gspca_dev->fr_q)) {
gspca_dev->last_packet_type = DISCARD_PACKET; gspca_dev->last_packet_type = DISCARD_PACKET;
gspca_dev->sequence++;
return; return;
} }
j = gspca_dev->fr_queue[i]; j = gspca_dev->fr_queue[i];
frame = &gspca_dev->frame[j]; frame = &gspca_dev->frame[j];
frame->v4l2_buf.timestamp = ktime_to_timeval(ktime_get()); frame->v4l2_buf.timestamp = ktime_to_timeval(ktime_get());
frame->v4l2_buf.sequence = ++gspca_dev->sequence; frame->v4l2_buf.sequence = gspca_dev->sequence++;
gspca_dev->image = frame->data; gspca_dev->image = frame->data;
gspca_dev->image_len = 0; gspca_dev->image_len = 0;
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment