From 4fa2c29fb20ac5af4165ad6d51a864b33bcfaf70 Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Wed, 27 May 2026 13:08:33 +0200 Subject: [PATCH] update 'create_publisher' API --- orbbec_camera/CMakeLists.txt | 8 ++++++++ orbbec_camera/src/image_publisher.cpp | 14 +++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/orbbec_camera/CMakeLists.txt b/orbbec_camera/CMakeLists.txt index f497f989..79ef7880 100644 --- a/orbbec_camera/CMakeLists.txt +++ b/orbbec_camera/CMakeLists.txt @@ -57,6 +57,14 @@ if(message_filters_VERSION VERSION_GREATER_EQUAL 5.0) add_compile_definitions(message_filters_QoS) endif() +if(image_transport_VERSION VERSION_GREATER_EQUAL 6.4) + add_compile_definitions(image_transport_NODE_INTERFACE) +endif() + +if(image_transport_VERSION VERSION_GREATER_EQUAL 6.4) + add_compile_definitions(image_transport_QoS) +endif() + if(USE_RK_HW_DECODER) pkg_search_module(RK_MPP REQUIRED rockchip_mpp) if(NOT RK_MPP_FOUND) diff --git a/orbbec_camera/src/image_publisher.cpp b/orbbec_camera/src/image_publisher.cpp index a68d1513..7283cb8d 100644 --- a/orbbec_camera/src/image_publisher.cpp +++ b/orbbec_camera/src/image_publisher.cpp @@ -36,7 +36,19 @@ image_transport_publisher::image_transport_publisher(rclcpp::Node& node, const std::string& topic_name, const rmw_qos_profile_t& qos) { image_publisher_impl = std::make_shared( - image_transport::create_publisher(&node, topic_name, qos)); + image_transport::create_publisher( +#ifdef image_transport_NODE_INTERFACE + image_transport::RequiredInterfaces{node}, +#else + &node, +#endif + topic_name, +#ifdef image_transport_QoS + rclcpp::QoS{rclcpp::QoSInitialization::from_rmw(qos), qos} +#else + qos +#endif + )); } void image_transport_publisher::publish(sensor_msgs::msg::Image::UniquePtr image_ptr) { image_publisher_impl->publish(*image_ptr);