---
name: "SDL_PutAudioStreamData"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_PutAudioStreamData"
---

# SDL\_PutAudioStreamData(3)

Add data to the stream.

## NAME

SDL\_PutAudioStreamData - Add data to the stream.

## HEADER FILE

Defined in SDL3/SDL\_audio.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**bool SDL\_PutAudioStreamData(SDL\_AudioStream \*stream, const void \*buf, int len);**

## DESCRIPTION

This data must match the format/channels/samplerate specified in the latest call to  **SDL\_SetAudioStreamFormat** , or the format specified when creating the stream if it hasn't been changed.

Note that this call simply copies the unconverted data for later. This is different than SDL2, where data was converted during the Put call and the Get call would just dequeue the previously-converted data.

## FUNCTION PARAMETERS

- *stream*

  the stream the audio data is being added to.

- *buf*

  a pointer to the audio data to add.

- *len*

  the number of bytes to write to the stream.

## RETURN VALUE

Returns true on success or false on failure; call

**SDL\_GetError** () for more information.

## THREAD SAFETY

It is safe to call this function from any thread, but if the stream has a callback set, the caller might need to manage extra locking.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_ClearAudioStream**(3)](/SDL_ClearAudioStream/3.md), **•**(3), [**SDL\_FlushAudioStream**(3)](/SDL_FlushAudioStream/3.md), **•**(3), [**SDL\_GetAudioStreamData**(3)](/SDL_GetAudioStreamData/3.md), **•**(3), [**SDL\_GetAudioStreamQueued**(3)](/SDL_GetAudioStreamQueued/3.md)
