snd_pcm_plugin_prepare()
Signal the driver to ready the specified channel (plugin-aware)
Synopsis:
#include <sys/asoundlib.h>
int snd_pcm_plugin_prepare( snd_pcm_t *handle,
int channel );
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().
- channel
- The channel; SND_PCM_CHANNEL_CAPTURE or SND_PCM_CHANNEL_PLAYBACK.
Library:
libasound.so
Use the -l asound option with qcc to link against this library.
Description:
The snd_pcm_plugin_prepare() function
prepares hardware to operate in a specified transfer direction.
This call is responsible for all parts of the hardware's startup
sequence that require additional initialization time, allowing
the final GO
(either from writes into the buffers or
snd_pcm_channel_go())
to execute more quickly.
This function may be called in all states except SND_PCM_STATUS_NOTREADY (returns -EBADFD) and SND_PCM_STATUS_RUNNING (returns -EBUSY). If the operation is successful (zero is returned), the driver state is changed to SND_PCM_STATUS_PREPARED.
Returns:
EOK on success, a negative errno upon failure. The errno values are available in the errno.h file.
Errors:
- -EBUSY
- The subchannel is in the running state.
- -EINVAL
- The state of handle is invalid, an invalid channel was provided as input, or an invalid state change occurred. You can call snd_pcm_plugin_status() to check if the state change was invalid.
Classification:
QNX Neutrino
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Read the Caveats |
Caveats:
This function is not thread safe if handle (snd_pcm_t) is used across multiple threads.
This function is the plugin-aware version of snd_pcm_channel_prepare() . 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.
