sdlGetAudioStreamQueued function
Get the number of bytes currently queued.
This is the number of bytes put into a stream as input, not the number that can be retrieved as output. Because of several details, it's not possible to calculate one number directly from the other. If you need to know how much usable data can be retrieved right now, you should use SDL_GetAudioStreamAvailable() and not this function.
Note that audio streams can change their input format at any time, even if there is still data queued in a different format, so the returned byte count will not necessarily match the number of sample frames available. Users of this API should be aware of format changes they make when feeding a stream and plan accordingly.
Queued data is not converted until it is consumed by SDL_GetAudioStreamData, so this value should be representative of the exact data that was put into the stream.
If the stream has so much data that it would overflow an int, the return value is clamped to a maximum value, but no queued data is lost; if there are gigabytes of data queued, the app might need to read some of it with SDL_GetAudioStreamData before this function's return value is no longer clamped.
\param stream the audio stream to query. \returns the number of bytes queued or -1 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_PutAudioStreamData \sa SDL_ClearAudioStream
extern SDL_DECLSPEC int SDLCALL SDL_GetAudioStreamQueued(SDL_AudioStream *stream)
Implementation
int sdlGetAudioStreamQueued(Pointer<SdlAudioStream> stream) {
final sdlGetAudioStreamQueuedLookupFunction = libSdl3.lookupFunction<
Int32 Function(Pointer<SdlAudioStream> stream),
int Function(Pointer<SdlAudioStream> stream)>('SDL_GetAudioStreamQueued');
return sdlGetAudioStreamQueuedLookupFunction(stream);
}