snd_pcm_plugin_params()

Set the configurable parameters for a PCM channel (plugin-aware)

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_plugin_params(
       snd_pcm_t *handle, 
       snd_pcm_channel_params_t *params );

Arguments:

handle
The handle for the PCM device, which you must have opened by calling snd_pcm_open_name(), snd_pcm_open(), or snd_pcm_open_preferred().
params
A pointer to a snd_pcm_channel_params_t structure in which you've specified the PCM channel's configurable parameters. All members are write-only.

Library:

libasound.so

Use the -l asound option to qcc to link against this library.

Description:

The snd_pcm_plugin_params() function sets up the transfer parameters according to params.

You can call the function in SND_PCM_STATUS_NOTREADY (initial) and SND_PCM_STATUS_READY states; otherwise, snd_pcm_plugin_params() returns -EBADFD.

If the parameters are valid (i.e. snd_pcm_plugin_params() returns zero), the driver state is changed to SND_PCM_STATUS_READY.

Note: You can confirm the channel's configuration by reading it back with snd_pcm_plugin_setup().

Returns:

Zero, or a negative error code.

Errors:

-EINVAL
Invalid handle; the data pointer is NULL, or the format is unsupported.

Examples:

See the wave.c example in the appendix.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

Caveats:

This function is the plugin-aware version of snd_pcm_channel_params(). It functions exactly the same way. However, make sure that you don't mix and match plugin- and nonplugin-aware functions in your application, or you may get undefined behavior and misleading results.