Collaboration diagram for alsa:

This driver provides access to sound playing and recording functionality through the Advanced Linux Sound Architecture (ALSA) system available on 2.6 series kernels (and before via patches/separate libraries).

Not all of the audio interface is supported. Currently supported features are:

PLAYER_AUDIO_CMD_WAV_PLAY - Play raw PCM wave data PLAYER_AUDIO_CMD_SAMPLE_PLAY - Play locally stored and remotely provided samples PLAYER_AUDIO_CMD_WAV_STREAM_REC - Toggle streamed-to-client recording PLAYER_AUDIO_CMD_MIXER_CHANNEL - Change volume levels PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST - Get channel details PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL - Get volume levels PLAYER_AUDIO_REQ_SAMPLE_LOAD - Store samples provided by remote clients (max 1MB) PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE - Send stored samples to remote clients (max 1MB) PLAYER_AUDIO_REQ_SAMPLE_REC - Record new samples directly on the server

Known bugs:

Locally stored samples are preferred to samples loaded over the network or using the PLAYER_AUDIO_CMD_WAV_PLAY message for a number of reasons:

When retrieving samples from the server via the PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE request, note that any sample with a data length greater than PLAYER_AUDIO_WAV_BUFFER_SIZE will be truncated to this size.

When using the PLAYER_AUDIO_REQ_SAMPLE_LOAD and PLAYER_AUDIO_REQ_SAMPLE_REC messages to store samples, currently only appending and overwriting existing samples is allowed. Trying to store at a specific index greater than the number of currently stored samples will result in an error. Note that the samples indices are 0-based, so if there are 5 samples stored and you request to store one at index 5 (technically beyond the end of the list), it will append to the end and become the sample at index 5. TODO: Talk to Toby to clarify his intentions for the index in this message.

The driver provides a single audio interface.

Configuration file options

  name "alsa"
  provides ["audio:0"]
  samples ["sample1.wav" "sample2.wav" "sample3.wav"]
  mixerfilters ["master" "pcm" "capture"]

Geoffrey Biggs, Lorenz Moesenlechner

Last updated 12 September 2005 21:38:45