MIX_LoadRawAudio(3)

NAME
MIX_LoadRawAudio - Load raw PCM data from a memory buffer.

SYNOPSIS
#include <SDL3_mixer/SDL_mixer.h>

MIX_Audio * MIX_LoadRawAudio(MIX_Mixer *mixer, const void *data, size_t datalen, const SDL_AudioSpec *spec);

DESCRIPTION
There are other options for _streaming_ raw PCM: an SDL_AudioStream can be connected to a track, as can an SDL_IOStream, and will read from those sources on-demand when it is time to mix the audio. This function is useful for loading static audio data that is meant to be played multiple times.

This function will load the raw data in its entirety and cache it in RAM, allocating a copy. If the original data will outlive the created MIX_Audio, you can use MIX_LoadRawAudioNoCopy() to avoid extra allocations and copies.

MIX_Audio objects can be shared between multiple mixers. The mixer parameter just suggests the most likely mixer to use this audio, in case some optimization might be applied, but this is not required, and a NULL mixer may be specified.

FUNCTION PARAMETERS

mixer
    a mixer this audio is intended to be used with. May be NULL.

data
    the raw PCM data to load.

datalen
    the size, in bytes, of the raw PCM data.

spec
    what format the raw data is in.

RETURN VALUE
Returns an audio object that can be used to make sound on a mixer, or NULL on failure; call SDL_GetError() for more information.

THREAD SAFETY
It is safe to call this function from any thread.

AVAILABILITY
This function is available since SDL_mixer 3.0.0.

SEE ALSO
MIX_DestroyAudio(3), MIX_SetTrackAudio(3), MIX_LoadRawAudio_IO(3), MIX_LoadRawAudioNoCopy(3), MIX_LoadAudio_IO(3)