diff --git a/orbbec_camera/src/ob_camera_node.cpp b/orbbec_camera/src/ob_camera_node.cpp index b4874abe..8e474fe5 100755 --- a/orbbec_camera/src/ob_camera_node.cpp +++ b/orbbec_camera/src/ob_camera_node.cpp @@ -3746,6 +3746,8 @@ bool OBCameraNode::applyStreamProfiles(const std::vector & const bool interleave_frame_enable = interleave_frame_enable_; if (restart_pipeline) { stopStreams(); + RCLCPP_DEBUG_STREAM(logger_, "Wait 1 second for streams to stop before applying profiles"); + std::this_thread::sleep_for(std::chrono::seconds(1)); interleave_frame_enable_ = interleave_frame_enable; } stopColorFrameThreads(); diff --git a/orbbec_camera/src/ros_service.cpp b/orbbec_camera/src/ros_service.cpp index 8c4be54b..73508de6 100644 --- a/orbbec_camera/src/ros_service.cpp +++ b/orbbec_camera/src/ros_service.cpp @@ -1941,6 +1941,8 @@ bool OBCameraNode::toggleSensor(const stream_index_pair& stream_index, bool enab std::lock_guard lock(device_lock_); try { pipeline_->stop(); + RCLCPP_DEBUG_STREAM(logger_, "Wait 1 second for streams to stop before toggling sensor"); + std::this_thread::sleep_for(std::chrono::seconds(1)); enable_stream_[stream_index] = enabled; setupProfiles(); startStreams();