Cool. I think I understand through this example how the stream is getting updated.

For the output to our steering-wheel peripheral(as opposed to the main soundcard), do I just call system::setDriver in order to switch to this steering-wheel device?

Also, the data going to the steering-wheel device needs to be updated real-time for our purposes. This seems in contrast with the ‘usercreatedsound’ example as there is a finite-sized buffer that seems to stop updating after a few iterations. Would we want to make a double-buffer for our needs?

Also, in this example is the pcm-filling-callback asynchronous or synchronous.