[media] uvcvideo: Tell the user space we're using start-of-exposure timestamps
authorSakari Ailus <sakari.ailus@iki.fi>
Mon, 10 Feb 2014 22:26:44 +0000 (19:26 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 5 Mar 2014 19:34:50 +0000 (16:34 -0300)
The UVC device provided timestamps are taken from the clock once the
exposure of the frame has begun, not when the reception of the frame would
have been finished as almost anywhere else. Show this to the user space by
using V4L2_BUF_FLAG_TSTAMP_SRC_SOE buffer flag.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/uvc/uvc_queue.c

index 7c146167b1033b1bc3342388298e8bd07577f915..935556e88ca5777b1139c52c9f8535c617fb7b12 100644 (file)
@@ -151,7 +151,8 @@ int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
        queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
        queue->queue.ops = &uvc_queue_qops;
        queue->queue.mem_ops = &vb2_vmalloc_memops;
-       queue->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
+       queue->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC
+               | V4L2_BUF_FLAG_TSTAMP_SRC_SOE;
        ret = vb2_queue_init(&queue->queue);
        if (ret)
                return ret;