This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/media_tree.git tree:

Subject: [media] vb2: fix vb2_poll for output streams
Author:  Hans Verkuil <hverk...@xs4all.nl>
Date:    Thu Jul 24 09:19:37 2014 -0300

vb2_poll should always return POLLOUT | POLLWRNORM as long as there
are fewer buffers queued than there are buffers available. Poll for
an output stream should only wait if all buffers are queued and nobody
is dequeuing them.

Signed-off-by: Hans Verkuil <hansv...@cisco.com>
Acked-by: Marek Szyprowski <m.szyprow...@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.che...@samsung.com>

 drivers/media/v4l2-core/videobuf2-core.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

---

http://git.linuxtv.org/media_tree.git?a=commitdiff;h=1612f20ea025f55741b2d6e8b9c91047a7324a76

diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
b/drivers/media/v4l2-core/videobuf2-core.c
index f33508f..c359006 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -2596,6 +2596,13 @@ unsigned int vb2_poll(struct vb2_queue *q, struct file 
*file, poll_table *wait)
        if ((list_empty(&q->queued_list) && !vb2_is_streaming(q)) || q->error)
                return res | POLLERR;
 
+       /*
+        * For output streams you can write as long as there are fewer buffers
+        * queued than there are buffers available.
+        */
+       if (V4L2_TYPE_IS_OUTPUT(q->type) && q->queued_count < q->num_buffers)
+               return res | POLLOUT | POLLWRNORM;
+
        if (list_empty(&q->done_list))
                poll_wait(file, &q->done_wq, wait);
 

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to