| OpenAL Specification and Reference | ||
|---|---|---|
| <<< Previous | Next >>> | |
This section of the AL specification describes ALC, the AL Context API. ALC is a portable API for managing AL contexts, including resource sharing, locking, and unlocking. Within the core AL API the existence of a Context is implied, but the Context is not exposed. The Context encapsulates the state of a given intance of the AL state machine.
To avoid confusion with the AL related prefixes implied throughout this document, the "alc" and "ALC_" prefixes have been made explicit in the ALC related sections.
ALC defines the following objects: Contexts.
ALC introduces the notion of a Device. A Device can be, depending on the implementation, a hardware device, or a daemon/OS service/actual server. This mechanism also permits different drivers (and hardware) to coexist within the same system, as well as allowing several applications to share system resources for audio, including a single hardware output device. The details are left to the implementation, which has to map the available backends to uniq7ue device specifiers (represented as strings).
The alcOpenDevice function allows the application (i.e. the client program) to connect to a device (i.e. the server).
ALCdevice * alcOpenDevice( const ubyte * deviceSpecifier);
The alcCloseDevice function allows the application (i.e. the client program) to disconnect from a device (i.e. the server).
void alcCloseDevice( ALCdevice * deviceHandle);
| <<< Previous | Home | Next >>> |
| Manipulating Buffer Attributes | Managing Rendering Contexts |