Skip to content

Commit

Permalink
[media] pwc: do not decompress the image unless the state is DONE
Browse files Browse the repository at this point in the history
There is no point in trying to decompress a captured frame unless
the buffer state is OK. It won't be used in any other state, and
in fact the contents of the buffer might well be corrupt.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Mar 11, 2014
1 parent 0647064 commit 1a17948
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions drivers/media/usb/pwc/pwc-if.c
Original file line number Diff line number Diff line change
Expand Up @@ -619,12 +619,15 @@ static void buffer_finish(struct vb2_buffer *vb)
struct pwc_device *pdev = vb2_get_drv_priv(vb->vb2_queue);
struct pwc_frame_buf *buf = container_of(vb, struct pwc_frame_buf, vb);

/*
* Application has called dqbuf and is getting back a buffer we've
* filled, take the pwc data we've stored in buf->data and decompress
* it into a usable format, storing the result in the vb2_buffer
*/
pwc_decompress(pdev, buf);
if (vb->state == VB2_BUF_STATE_DONE) {
/*
* Application has called dqbuf and is getting back a buffer
* we've filled, take the pwc data we've stored in buf->data
* and decompress it into a usable format, storing the result
* in the vb2_buffer.
*/
pwc_decompress(pdev, buf);
}
}

static void buffer_cleanup(struct vb2_buffer *vb)
Expand Down

0 comments on commit 1a17948

Please sign in to comment.