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