From c07144173d35b798ed3f571d6d33fda3701bd64e Mon Sep 17 00:00:00 2001
From: Ken Tossell <ken@tossell.net>
Date: Wed, 25 Sep 2013 21:43:29 -0400
Subject: [PATCH] Fixed image and cinfo headers' frame + timestamp (from fuerte
 branch).

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

diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp
index af3b79b..b92a2f6 100644
--- a/libuvc_camera/src/camera_driver.cpp
+++ b/libuvc_camera/src/camera_driver.cpp
@@ -146,6 +146,9 @@ void CameraDriver::ReconfigureCallback(UVCCameraConfig &new_config, uint32_t lev
 }
 
 void CameraDriver::ImageCallback(uvc_frame_t *frame) {
+  // TODO: Switch to {frame}'s timestamp once that becomes reliable.
+  ros::Time timestamp = ros::Time::now();
+
   boost::recursive_mutex::scoped_lock(mutex_);
 
   assert(state_ == kRunning);
@@ -169,6 +172,11 @@ void CameraDriver::ImageCallback(uvc_frame_t *frame) {
   sensor_msgs::CameraInfo::ConstPtr cinfo(
     new sensor_msgs::CameraInfo(cinfo_manager_.getCameraInfo()));
 
+  image->header.frame_id = config_.frame_id;
+  image->header.stamp = timestamp;
+  cinfo->header.frame_id = config_.frame_id;
+  cinfo->header.stamp = timestamp;
+
   cam_pub_.publish(image, cinfo);
 
   if (config_changed_) {
-- 
GitLab