Systems and methods for interfacing with codec(s) on an architecture
optimized for audio are described. In one aspect, a device driver
accesses an application programming interface (API). The API facilitates
communications between the device driver and one or more codec(s) via a
controller coupled to the codec(s). The codec(s) and the controller are
implemented in an environment that is substantially optimized for audio.
Such communication includes, for example, registering for event(s),
transferring data to or from the codec(s), obtaining information about
the capability of the codec(s), and/or managing bus or codec resources.