sdlBindAudioStreams function
Bind a list of audio streams to an audio device.
Audio data will flow through any bound streams. For a playback device, data for all bound streams will be mixed together and fed to the device. For a recording 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 playback devices, and its input format for recording 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.
\param devid an audio device to bind a stream to.
\param streams an array of audio streams to bind.
\param num_streams number streams listed in the streams
array.
\returns true on success or false on failure; call SDL_GetError() for more
information.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.1.3.
\sa SDL_BindAudioStreams \sa SDL_UnbindAudioStream \sa SDL_GetAudioStreamDevice
extern SDL_DECLSPEC bool SDLCALL SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream **streams, int num_streams)
Implementation
bool sdlBindAudioStreams(
int devid, Pointer<Pointer<SdlAudioStream>> streams, int numStreams) {
final sdlBindAudioStreamsLookupFunction = libSdl3.lookupFunction<
Uint8 Function(Uint32 devid, Pointer<Pointer<SdlAudioStream>> streams,
Int32 numStreams),
int Function(int devid, Pointer<Pointer<SdlAudioStream>> streams,
int numStreams)>('SDL_BindAudioStreams');
return sdlBindAudioStreamsLookupFunction(devid, streams, numStreams) == 1;
}