mixQuickLoadWav function

Pointer<MixChunk> mixQuickLoadWav(
  1. Pointer<Uint8> mem
)

Load a WAV file from memory as quickly as possible.

Unlike Mix_LoadWAV_IO, this function has several requirements, and unless you control all your audio data and know what you're doing, you should consider this function unsafe and not use it.

  • The provided audio data MUST be in Microsoft WAV format.
  • The provided audio data shouldn't use any strange WAV extensions.
  • The audio data MUST be in the exact same format as the audio device. This function will not attempt to convert it, or even verify it's in the right format.
  • The audio data must be valid; this function does not know the size of the memory buffer, so if the WAV data is corrupted, it can read past the end of the buffer, causing a crash.
  • The audio data must live at least as long as the returned Mix_Chunk, because SDL_mixer will use that data directly and not make a copy of it.

This function will do NO error checking! Be extremely careful here!

(Seriously, use Mix_LoadWAV_IO instead.)

If this function is successful, the provided memory buffer must remain available until Mix_FreeChunk() is called on the returned chunk.

\param mem memory buffer containing of a WAV file. \returns a new chunk, or NULL on error.

\since This function is available since SDL_mixer 3.0.0.

\sa Mix_LoadWAV_IO \sa Mix_FreeChunk

extern SDL_DECLSPEC Mix_Chunk * SDLCALL Mix_QuickLoad_WAV(Uint8 *mem)

Implementation

Pointer<MixChunk> mixQuickLoadWav(Pointer<Uint8> mem) {
  final mixQuickLoadWavLookupFunction = libSdl3Mixer.lookupFunction<
      Pointer<MixChunk> Function(Pointer<Uint8> mem),
      Pointer<MixChunk> Function(Pointer<Uint8> mem)>('Mix_QuickLoad_WAV');
  return mixQuickLoadWavLookupFunction(mem);
}