User Tools

Site Tools


solaris:audio_engine_ops.9s

audio_engine_ops


NAME

audio_engine_ops - audio engine operations vector

SYNOPSIS

#include <sys/audio/audio_driver.h>

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI)

DESCRIPTION

An audio_engine_ops structure defines vectors that an audio driver exports to the Sun audio framework.

One such vector is used for each DMA or PIO engine (sometimes referred to as a “stream”) supported on the device.

The audio framework provides the following synchronization guarantees for audio engines:

oonly one thread will be executing an audio engine entry point for a given audio device at any one time
ono threads will be executing any audio engine entry points for a given audio device if that device is suspended. See audio_dev_suspend(9F).

Each entry point receives as its first argument the driver private state that was registered with audio_engine_set_private(9F).

STRUCTURE MEMBERS

int audio_engine_version; /* version number */
int (*audio_engine_open)(); /* open engine */
void (*audio_engine_close)(); /* close engine */
int (*audio_engine_start)(); /* start engine */
void (*audio_engine_stop)(); /* stop engine */
uint64_t (*audio_engine_count)(); /* get frame count */
int (*audio_engine_format)(); /* get format */
int (*audio_engine_channels)(); /* get num channels */
int (*audio_engine_rate)(); /* get sample rate */
void (*audio_engine_sync)(); /* dma cache sync */
uint_t (*audio_engine_qlen)(); /* get hw fifo len */
void (*audio_engine_chinfo)(); /* channel cfg info */
uint_t (*audio_engine_playahead)(); /* play ahead frames */

audio_engine_version

The version of the engine interface. Drivers must supply AUDIO_ENGINE_VERSION.

audio_engine_open

Function entry that opens the engine and initializes hardware and resources.

audio_engine_close

Function entry that closes the engine and possibly releases any resources.

audio_engine_start

Function entry to start audio data transfer.

audio_engine_stop

Function entry to stop audio data transfer.

audio_engine_count

Function entry to return engine’s frame count.

audio_engine_format

Function entry to get the format of the engine.

audio_engine_channels

Function entry to get the number of channels of the engine.

audio_engine_rate

Function entry to get the sample rate of the engine.

audio_engine_sync

Function entry to synchronize the DMA cache for the buffer associated with the engine.

audio_engine_qlen

Function entry to determine the on-device FIFO len for the engine.

audio_engine_chinfo

Function entry to determine number and layout channels for device.

audio_engine_playahead

Function entry to determine minimum number of frames that should be queued to the engine.

ATTRIBUTES

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

SEE ALSO

audio(4D), attributes(7), audio_engine_channels(9E), audio_engine_chinfo(9E), audio_engine_count(9E), audio_engine_format(9E), audio_engine_open(9E), audio_engine_playahead(9E), audio_engine_qlen(9E), audio_engine_rate(9E), audio_engine_start(9E), audio_engine_sync(9E), audio_dev_add_engine(9F), audio_dev_suspend(9F), audio_engine_alloc(9F), audio_engine_set_private(9F)


solaris/audio_engine_ops.9s.txt · Last modified: 2023/07/19 08:58 by A User Not Logged in