Bind a list of audio streams to an audio device.
Defined in <SDL3/SDL_audio.h>
devid | an audio device to bind a stream to. |
streams | an array of audio streams to unbind. |
num_streams | Number streams listed in the streams array. |
Returns 0 on success, -1 on error; call SDL_GetError() for more information.
Audio data will flow through any bound streams. For an output device, data for all bound streams will be mixed together and fed to the device. For a capture device, a copy of recorded data will be provided to each bound stream.
Audio streams can only be bound to an open device. This operation is atomic--all streams bound in the same call will start processing at the same time, so they can stay in sync. Also: either all streams will be bound or none of them will be.
It is an error to bind an already-bound stream; it must be explicitly unbound first.
Binding a stream to a device will set its output format for output devices, and its input format for capture devices, so they match the device's settings. The caller is welcome to change the other end of the stream's format at any time.
It is safe to call this function from any thread.
This function is available since SDL 3.0.0.