Re: [REVIEWv2 PATCH 06/13] vb2: set timestamp when using write()

2014-04-09 Thread Pawel Osciak
I see. Ack, but please add a comment about this in the code.

On Mon, Apr 7, 2014 at 10:11 PM, Hans Verkuil hverk...@xs4all.nl wrote:
 From: Hans Verkuil hans.verk...@cisco.com

 When using write() to write data to an output video node the vb2 core
 should set timestamps if V4L2_BUF_FLAG_TIMESTAMP_COPY is set. Nobody
 else is able to provide this information with the write() operation.

 Signed-off-by: Hans Verkuil hans.verk...@cisco.com

Acked-by: Pawel Osciak pa...@osciak.com

 ---
  drivers/media/v4l2-core/videobuf2-core.c | 6 ++
  1 file changed, 6 insertions(+)

 diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
 b/drivers/media/v4l2-core/videobuf2-core.c
 index 2e448a7..b7de6be 100644
 --- a/drivers/media/v4l2-core/videobuf2-core.c
 +++ b/drivers/media/v4l2-core/videobuf2-core.c
 @@ -22,6 +22,7 @@
  #include media/v4l2-dev.h
  #include media/v4l2-fh.h
  #include media/v4l2-event.h
 +#include media/v4l2-common.h
  #include media/videobuf2-core.h

  static int debug;
 @@ -2751,6 +2752,9 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, 
 char __user *data, size_
  {
 struct vb2_fileio_data *fileio;
 struct vb2_fileio_buf *buf;
 +   bool set_timestamp = !read 
 +   (q-timestamp_flags  V4L2_BUF_FLAG_TIMESTAMP_MASK) ==
 +   V4L2_BUF_FLAG_TIMESTAMP_COPY;

Please add an explicit comment why we are doing this here in the code.

 int ret, index;

 dprintk(3, mode %s, offset %ld, count %zd, %sblocking\n,
 @@ -2852,6 +2856,8 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, 
 char __user *data, size_
 fileio-b.memory = q-memory;
 fileio-b.index = index;
 fileio-b.bytesused = buf-pos;
 +   if (set_timestamp)
 +   v4l2_get_timestamp(fileio-b.timestamp);
 ret = vb2_internal_qbuf(q, fileio-b);
 dprintk(5, vb2_dbuf result: %d\n, ret);
 if (ret)
 --
 1.9.1




-- 
Best regards,
Pawel Osciak
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[REVIEWv2 PATCH 06/13] vb2: set timestamp when using write()

2014-04-07 Thread Hans Verkuil
From: Hans Verkuil hans.verk...@cisco.com

When using write() to write data to an output video node the vb2 core
should set timestamps if V4L2_BUF_FLAG_TIMESTAMP_COPY is set. Nobody
else is able to provide this information with the write() operation.

Signed-off-by: Hans Verkuil hans.verk...@cisco.com
---
 drivers/media/v4l2-core/videobuf2-core.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
b/drivers/media/v4l2-core/videobuf2-core.c
index 2e448a7..b7de6be 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -22,6 +22,7 @@
 #include media/v4l2-dev.h
 #include media/v4l2-fh.h
 #include media/v4l2-event.h
+#include media/v4l2-common.h
 #include media/videobuf2-core.h
 
 static int debug;
@@ -2751,6 +2752,9 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, 
char __user *data, size_
 {
struct vb2_fileio_data *fileio;
struct vb2_fileio_buf *buf;
+   bool set_timestamp = !read 
+   (q-timestamp_flags  V4L2_BUF_FLAG_TIMESTAMP_MASK) ==
+   V4L2_BUF_FLAG_TIMESTAMP_COPY;
int ret, index;
 
dprintk(3, mode %s, offset %ld, count %zd, %sblocking\n,
@@ -2852,6 +2856,8 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, 
char __user *data, size_
fileio-b.memory = q-memory;
fileio-b.index = index;
fileio-b.bytesused = buf-pos;
+   if (set_timestamp)
+   v4l2_get_timestamp(fileio-b.timestamp);
ret = vb2_internal_qbuf(q, fileio-b);
dprintk(5, vb2_dbuf result: %d\n, ret);
if (ret)
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html