---
name: "al_get_audio_stream_fragment"
section: "3alleg5"
platform: "linux"
package: "allegro5-doc"
version: "2:5.2.10.1+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/al_get_audio_stream_fragment/3alleg5"
---

# al\_get\_audio\_stream\_fragment(3alleg5)

Allegro 5 API

## NAME

al\_get\_audio\_stream\_fragment - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro_audio.h>
  void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
  ```

## DESCRIPTION

When using Allegro’s audio streaming, you will use this function to continuously provide new sample data to a stream.

If the stream is ready for new data, the function will return the address of an internal buffer to be filled with audio data. The length and format of the buffer are specified with al\_create\_audio\_stream(3alleg5) or can be queried with the various functions described here. Once the buffer is filled, you must signal this to Allegro by passing the buffer to al\_set\_audio\_stream\_fragment(3alleg5).

If the stream is not ready for new data, the function will return NULL.

*Note:* If you listen to events from the stream, an ALLEGRO\_EVENT\_AUDIO\_STREAM\_FRAGMENT(3alleg5) event will be generated whenever a new fragment is ready. However, getting an event is *not* a guarantee that al\_get\_audio\_stream\_fragment(3alleg5) will not return NULL, so you still must check for it.

## SEE ALSO

al\_set\_audio\_stream\_fragment(3alleg5), al\_get\_audio\_stream\_event\_source(3alleg5), al\_get\_audio\_stream\_frequency(3alleg5), al\_get\_audio\_stream\_channels(3alleg5), al\_get\_audio\_stream\_depth(3alleg5), al\_get\_audio\_stream\_length(3alleg5)
