From 126bd13f65c8e88fd4eb037433ab39f7faf803ca Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 Dec 2013 17:33:02 +0000 Subject: [PATCH 140/174] V4L2: Fix JPEG timestamp issue JPEG images were coming through from the GPU with timestamp of 0. Detect this and give current system time instead of some invalid value. Signed-off-by: Dave Stevenson --- drivers/media/platform/bcm2835/bcm2835-camera.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/media/platform/bcm2835/bcm2835-camera.c +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -238,7 +238,8 @@ static void buffer_cb(struct vchiq_mmal_ } } else { if (dev->capture.frame_count) { - if (dev->capture.vc_start_timestamp != -1) { + if (dev->capture.vc_start_timestamp != -1 && + pts != 0) { s64 runtime_us = pts - dev->capture.vc_start_timestamp; u32 div = 0; @@ -259,7 +260,7 @@ static void buffer_cb(struct vchiq_mmal_ USEC_PER_SEC; } v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, - "Convert start time %d.%06d and %llu" + "Convert start time %d.%06d and %llu " "with offset %llu to %d.%06d\n", (int)dev->capture.kernel_start_ts. tv_sec,