Buffer State query mechanism
Brought to you by:
majanson
To be able to have the ability to query the state of the buffers from the calling application will prove invaluable for creating truly streamed media playback.
The constants AL_UNUSED, AL_PENDING and AL_PROCESSED are already defined, so this feature would only need implementing another case statement inside the current alGetSource* or alGetBuffer* functions in order to handle this and just pass back the raw state.
Adding just this alone would provide a mechanism for creating Wait States for an applications audio thread to sit in while OpenAL plays the audio back, meaning that signals could be devised for when the state changes and the application can then react accordingly.