ros-drivers / audio_common

Common code for working with audio in ROS
BSD 3-Clause "New" or "Revised" License
86 stars 151 forks source link

Convert rclcpp nodes into components #209

Closed weeshal closed 1 year ago

weeshal commented 1 year ago

Feature Request:

Convert the audio_capture and audio_play nodes into rclcpp components. The benefits this would have, while still maintaining backwards compatibility (non-functional change) are:

  1. Allow for intra-process communication when nodes are running in the same component container - removing the copy overhead between publishers and subscribers in the same container (think capture and play running the same container with less latency - especially important for relatively heavy audio msg)
  2. Allow for the nodes to be loaded/unloaded dynamically. For my current use-case, we want to record audio files for n seconds, instead of using a separate node to capture /audio and save to a wav file, we can utilize the already implemented gstreamer pipeline in this package to run the node for n seconds and save a wav file in this manner.

@knorth55 let me know if this is something you would be interested in - I can make the change, test and submit a PR if so!

knorth55 commented 1 year ago

@weeshal If you can, I look forward to seeing your new feature!

knorth55 commented 1 year ago

Done in #215