sdlGetDefaultAudioInfo function

int sdlGetDefaultAudioInfo(
  1. Pointer<Pointer<Int8>> name,
  2. Pointer<SdlAudioSpec> spec,
  3. int iscapture
)

Get the name and preferred format of the default audio device.

Some (but not all!) platforms have an isolated mechanism to get information about the "default" device. This can actually be a completely different device that's not in the list you get from SDL_GetAudioDeviceSpec(). It can even be a network address! (This is discussed in SDL_OpenAudioDevice().)

As a result, this call is not guaranteed to be performant, as it can query the sound server directly every time, unlike the other query functions. You should call this function sparingly!

spec will be filled with the sample rate, sample format, and channel count, if a default device exists on the system. If name is provided, will be filled with either a dynamically-allocated UTF-8 string or NULL.

\param name A pointer to be filled with the name of the default device (can be NULL). Please call SDL_free() when you are done with this pointer! \param spec The SDL_AudioSpec to be initialized by this function. \param iscapture non-zero to query the default recording device, zero to query the default output device. \returns 0 on success, nonzero on error

\since This function is available since SDL 2.24.0.

\sa SDL_GetAudioDeviceName \sa SDL_GetAudioDeviceSpec \sa SDL_OpenAudioDevice

extern DECLSPEC int SDLCALL SDL_GetDefaultAudioInfo(char **name, SDL_AudioSpec *spec, int iscapture)

Implementation

int sdlGetDefaultAudioInfo(
    Pointer<Pointer<Int8>> name, Pointer<SdlAudioSpec> spec, int iscapture) {
  final sdlGetDefaultAudioInfoLookupFunction = libSdl2.lookupFunction<
      Int32 Function(Pointer<Pointer<Int8>> name, Pointer<SdlAudioSpec> spec,
          Int32 iscapture),
      int Function(Pointer<Pointer<Int8>> name, Pointer<SdlAudioSpec> spec,
          int iscapture)>('SDL_GetDefaultAudioInfo');
  return sdlGetDefaultAudioInfoLookupFunction(name, spec, iscapture);
}