V. PCM plugin access

The PCM plugin layer was designed to offer a simple rate and format conversion routines which behave in the same way as the PCM direct access layer. The ALSA native PCM driver does not do any conversions itself. Everything must be done in the user space.

The using of this layer is very recommended, because some common hardware cannot do some standard things like full 16-bit duplex. For example, ISA Sound Blaster cards have always one channel 16-bit and second 16-bit.

Unfortunately, the PCM mmap mode is not available in the plugin layer, because the direct access into the audio ring buffer does not allow any additional conversions.

Table of Contents
snd_pcm_plugin_info — obtain information about the PCM direction
snd_pcm_plugin_params — set PCM communication parameters
snd_pcm_plugin_setup — obtain current PCM setup
snd_pcm_plugin_status — obtain current PCM run-time status
snd_pcm_plugin_prepare — prepare the selected direction
snd_pcm_plugin_playback_drain — drain playback queue
snd_pcm_plugin_channel_flush — flush buffers
snd_pcm_plugin_write — transfer PCM stream to playback subdevice
snd_pcm_plugin_pointer — obtain a pointer to the transfer buffer
snd_pcm_plugin_read — transfer PCM stream from capture subdevice
snd_pcm_plugin_writev — send PCM stream to playback (using I/O vector)
snd_pcm_plugin_readv — transfer PCM stream from capture (using I/O vector)