GNU Info

Info Node: (openal.info)Basic Concepts

(openal.info)Basic Concepts


Next: types Up: API
Enter node , (file) or (file)node

   al calls, either implicitly or explicitly, act upon opaque objects
of the kind `Buffers', `Sources', `Contexts', or `Listeners'.  Of these
types, the generation and deletion of `Buffers', `Sources', and
`Contexts' are explicit and must be handled by the application.

   To give a brief overview:

`Buffers'
     `Buffers' contain PCM audio data, and the parameters associated
     with the data (length, frequency, sample width etc).  `Buffers'
     cannot be played, a `Source' must be associated with them, and the
     `Source' is then played.

     `Buffers' are created with a call to `alGenBuffers', which creates
     a set of buffer ids and binds them to buffers.  The buffer id is
     the only mechanism by which an application may refer to a buffer.
     After its useful lifetime is over, buffer ids should be deleted
     via the call `alDeleteBuffers'.

`Sources'
     `Sources' are independent objects, which, when played, make sound.
     `Sources' need to be associated with a `Buffer' before they can be
     played.

     `Sources' are created with a call to `alGenSources', which creates
     a set of source ids and binds them to sources.  The source id is
     the only mechanism by which an application may refer to a source.
     After its useful lifetime is over, source ids should be deleted
     via the call `alDeleteSources'.

`Devices'
     A `Device' is a binding to the audio rendered backend used by the
     library.  This may be an actual hardware device, a software mixing
     server, or other abstraction.

     At least one device must be created for the generation of contexts.

`Contexts'
     A `Context' abstracts the audio device from the rest of the library
     (and the application).  You generally only need one.  Calling most
     al functions before creating a context via `alcCreateContext' will
     result in either an error or a segfault.

     When you're about to quit, call `alcDestroyContext' to destroy the
     context and don't make any other al calls.


automatically generated by info2www version 1.2.2.9