From 5cca6467c879c15dc753b26e2b9f15e4c447f188 Mon Sep 17 00:00:00 2001
From: Kei Okada <k-okada@jsk.t.u-tokyo.ac.jp>
Date: Thu, 12 Apr 2018 22:30:21 +0900
Subject: [PATCH] set only when frame->capture_time is 0

---
 libuvc_camera/src/camera_driver.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp
index 34024f1..ade51c8 100644
--- a/libuvc_camera/src/camera_driver.cpp
+++ b/libuvc_camera/src/camera_driver.cpp
@@ -162,7 +162,10 @@ void CameraDriver::ReconfigureCallback(UVCCameraConfig &new_config, uint32_t lev
 }
 
 void CameraDriver::ImageCallback(uvc_frame_t *frame) {
-  ros::Time timestamp = ros::Time::now();
+  ros::Time timestamp = ros::Time(frame->capture_time.tv_sec, frame->capture_time.tv_usec);
+  if ( timestamp == ros::Time(0) ) {
+    timestamp = ros::Time::now();
+  }
 
   boost::recursive_mutex::scoped_lock(mutex_);
 
-- 
GitLab