get_audio_stream_buffer
Section: Allegro manual (3)
Updated: version 4.2.2
Index
Return to Main Contents
NAME
get_audio_stream_buffer - Tells you if you need to fill the audiostream or not. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
void *get_audio_stream_buffer(AUDIOSTREAM *stream);
DESCRIPTION
You must call this function at regular intervals while an audio stream is
playing, to provide the next buffer of sample data (the smaller the
stream buffer size, the more often it must be called). This function should
not be called from a timer handler. Example:
void *mem_chunk;
...
while (TRUE) {
...
mem_chunk = get_audio_stream_buffer(buffer);
if (mem_chunk != NULL) {
/* Refill the stream buffer. */
}
}
RETURN VALUE
If it returns NULL, the stream is still playing the previous lot of data,
so you don't need to do anything. If it returns a value, that is the
location of the next buffer to be played, and you should load the
appropriate number of samples (however many you specified when creating the
stream) to that address, for example using an fread() from a disk file.
After filling the buffer with data, call free_audio_stream_buffer() to
indicate that the new data is now valid.
SEE ALSO
play_audio_stream(3),
free_audio_stream_buffer(3),
exstream(3)