sdlxCreateAudioStream function audio

Pointer<SdlAudioStream> sdlxCreateAudioStream(
  1. SdlxAudioSpec srcSpec,
  2. SdlxAudioSpec? dstSpec
)

Create a new audio stream.

\param src_spec the format details of the input audio. \param dst_spec the format details of the output audio. \returns a new audio stream on success or NULL 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.2.0.

\sa SDL_PutAudioStreamData \sa SDL_GetAudioStreamData \sa SDL_GetAudioStreamAvailable \sa SDL_FlushAudioStream \sa SDL_ClearAudioStream \sa SDL_SetAudioStreamFormat \sa SDL_DestroyAudioStream

extern SDL_DECLSPEC SDL_AudioStream * SDLCALL SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)

Implementation

Pointer<SdlAudioStream> sdlxCreateAudioStream(
  SdlxAudioSpec srcSpec,
  SdlxAudioSpec? dstSpec,
) {
  final srcSpecPointer = srcSpec.calloc();
  Pointer<SdlAudioSpec> dstSpecPointer = nullptr;
  if (dstSpec != null) {
    dstSpecPointer = dstSpec.calloc();
  }
  final result = sdlCreateAudioStream(srcSpecPointer, dstSpecPointer);
  srcSpecPointer.callocFree();
  if (dstSpecPointer != nullptr) {
    dstSpecPointer.callocFree();
  }
  return result;
}