man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

audio_dev_add_engine(9F)

Name

audio_dev_add_engine, audio_dev_remove_engine - add or remove an audio engine to or from a device

Synopsis

#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);

Parameters

adev

pointer to an audio device allocated with audio_dev_alloc(9F)

engine

pointer to an audio engine allocated with audio_engine_alloc(9F)

Interface Level

Solaris DDI specific (Solaris DDI)

Description

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.

Context

These functions may be called from user or kernel context only.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed

See also

attributes(5), audio(7D) , detach(9E), audio_dev_alloc(9F), audio_dev_register(9F), audio_dev_unregister(9F), audio_engine_alloc(9F)