#include <allegro5/allegro_audio.h> void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *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(3) 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(3).
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(3) event will be generated whenever a new fragment is ready. However, getting an event is not a guarantee that al_get_audio_stream_fragment(3) will not return NULL, so you still must check for it.
|Allegro reference manual|