mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[media] pwc: do not decompress the image unless the state is DONE
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>
This commit is contained in:
parent
0647064293
commit
1a17948184
1 changed files with 9 additions and 6 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue