Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 174156
b: refs/heads/master
c: d131c3c
h: refs/heads/master
v: v3
  • Loading branch information
Jean-Francois Moine authored and Mauro Carvalho Chehab committed Dec 5, 2009
1 parent 69d8721 commit fcc7aec
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3ec342f25004c87c0d94de1bc1b5399685d58ad8
refs/heads/master: d131c3c9e136cb5a817094c3dc4b7261b495cd6e
35 changes: 12 additions & 23 deletions trunk/drivers/media/video/gspca/gspca.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,6 @@ static void fill_frame(struct gspca_dev *gspca_dev,
pkt_scan = gspca_dev->sd_desc->pkt_scan;
for (i = 0; i < urb->number_of_packets; i++) {

/* check the availability of the frame buffer */
if ((gspca_dev->cur_frame->v4l2_buf.flags & BUF_ALL_FLAGS)
!= V4L2_BUF_FLAG_QUEUED) {
gspca_dev->last_packet_type = DISCARD_PACKET;
break;
}

/* check the packet status and length */
len = urb->iso_frame_desc[i].actual_length;
if (len == 0) {
Expand Down Expand Up @@ -223,17 +216,11 @@ static void bulk_irq(struct urb *urb)
goto resubmit;
}

/* check the availability of the frame buffer */
if ((gspca_dev->cur_frame->v4l2_buf.flags & BUF_ALL_FLAGS)
!= V4L2_BUF_FLAG_QUEUED) {
gspca_dev->last_packet_type = DISCARD_PACKET;
} else {
PDEBUG(D_PACK, "packet l:%d", urb->actual_length);
gspca_dev->sd_desc->pkt_scan(gspca_dev,
gspca_dev->frame,
urb->transfer_buffer,
urb->actual_length);
}
PDEBUG(D_PACK, "packet l:%d", urb->actual_length);
gspca_dev->sd_desc->pkt_scan(gspca_dev,
gspca_dev->frame,
urb->transfer_buffer,
urb->actual_length);

resubmit:
/* resubmit the URB */
Expand Down Expand Up @@ -266,16 +253,18 @@ struct gspca_frame *gspca_frame_add(struct gspca_dev *gspca_dev,
int i, j;

PDEBUG(D_PACK, "add t:%d l:%d", packet_type, len);

/* check the availability of the frame buffer */
frame = gspca_dev->cur_frame;
if ((frame->v4l2_buf.flags & BUF_ALL_FLAGS)
!= V4L2_BUF_FLAG_QUEUED) {
gspca_dev->last_packet_type = DISCARD_PACKET;
return frame;
}

/* when start of a new frame, if the current frame buffer
* is not queued, discard the whole frame */
if (packet_type == FIRST_PACKET) {
if ((frame->v4l2_buf.flags & BUF_ALL_FLAGS)
!= V4L2_BUF_FLAG_QUEUED) {
gspca_dev->last_packet_type = DISCARD_PACKET;
return frame;
}
frame->data_end = frame->data;
jiffies_to_timeval(get_jiffies_64(),
&frame->v4l2_buf.timestamp);
Expand Down

0 comments on commit fcc7aec

Please sign in to comment.