Provided by: libsdl3-doc_3.2.28+ds-1_all bug

NAME

       SDL_SetAudioStreamFormat - Change the input and output formats of an audio stream.

SYNOPSIS

       #include <SDL3/SDL_audio.h>

       bool SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec);

DESCRIPTION

       Future  calls  to and SDL_GetAudioStreamAvailable and SDL_GetAudioStreamData will reflect the new format,
       and future calls to SDL_PutAudioStreamData must provide data in the new input formats.

       Data that was previously queued in the stream will still be operated on in the format  that  was  current
       when  it was added, which is to say you can put the end of a sound file in one format to a stream, change
       formats for the next sound file, and start putting that new data while the previous sound file  is  still
       queued, and everything will still play back correctly.

       If  a  stream is bound to a device, then the format of the side of the stream bound to a device cannot be
       changed (src_spec for recording devices, dst_spec for playback devices). Attempts to  make  a  change  to
       this side will be ignored, but this will not report an error. The other side's format can be changed.

FUNCTION PARAMETERS

       stream the stream the format is being changed.

       src_spec
              the new format of the audio input; if NULL, it is not changed.

       dst_spec
              the new format of the audio output; if NULL, it is not changed.

RETURN VALUE

       for more information.

THREAD SAFETY

       It is safe to call this function from any thread, as it holds a stream-specific mutex while running.

AVAILABILITY

       This function is available since SDL 3.2.0.

SEE ALSO

       SDL_GetAudioStreamFormat(3), SDL_SetAudioStreamFrequencyRatio(3)

Simple Directmedia Layer                           SDL 3.2.28                        SDL_SetAudioStreamFormat(3)