DragonFly On-Line Manual Pages
get_audio_stream_buffer(3) Allegro manual get_audio_stream_buffer(3)
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)
Allegro version 4.4.2 get_audio_stream_buffer(3)