audio_dev_add_engine, audio_dev_remove_engine - add or remove an audio engine to or from a device
#include <sys/audio/audio_driver.h> void audio_dev_add_engine(audio_dev_t *adev, audio_engine_t *engine);
void audio_dev_remove_engine(audio_dev_t *adev, audio_engine_t *engine);
pointer to an audio device allocated with audio_dev_alloc(9F)
pointer to an audio engine allocated with audio_engine_alloc(9F)
Solaris DDI specific (Solaris DDI)
The audio_dev_add_engine() function associates an allocated and initialized engine with an audio device.
Multiple engines may be added to an audio device in this fashion. Usually device drivers perform this at least twice: once for a playback engine and once for a record engine. Multiple playback engines can be especially useful in allowing the framework to avoid software mixing overhead or to support engines running with different parameters. For example, different engines may support different audio formats or different sample rates.
Generally, audio_dev_add_engine() should be called before registering the audio device with the audio framework using audio_dev_register(9F).
The audio_dev_remove_engine() function removes an engine from the list of engines associated with a device. This is generally called during detach(9E) processing.
These functions may be called from user or kernel context only.
See attributes(7) for descriptions of the following attributes: