diff --git a/src/rqt_image_view/image_view.cpp b/src/rqt_image_view/image_view.cpp index 024c09b..eb1611a 100644 --- a/src/rqt_image_view/image_view.cpp +++ b/src/rqt_image_view/image_view.cpp @@ -317,10 +317,18 @@ void ImageView::onTopicChanged(int index) if (!topic.isEmpty()) { - image_transport::ImageTransport it(node_); const image_transport::TransportHints hints(node_.get(), transport.toStdString()); try { - subscriber_ = it.subscribe(topic.toStdString(), 1, &ImageView::callbackImage, this, &hints); + auto subscription_options = rclcpp::SubscriptionOptions(); + // TODO(jacobperron): Enable once ROS CLI args are supported https://github.com/ros-visualization/rqt/issues/262 + // subscription_options.qos_overriding_options = rclcpp::QosOverridingOptions::with_default_policies(); + subscriber_ = image_transport::create_subscription( + node_.get(), + topic.toStdString(), + std::bind(&ImageView::callbackImage, this, std::placeholders::_1), + hints.getTransport(), + rmw_qos_profile_sensor_data, + subscription_options); qDebug("ImageView::onTopicChanged() to topic '%s' with transport '%s'", topic.toStdString().c_str(), subscriber_.getTransport().c_str()); } catch (image_transport::TransportLoadException& e) { QMessageBox::warning(widget_, tr("Loading image transport plugin failed"), e.what());