snd_pcm_playback_prepare()

Signal the driver to ready the playback channel

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_playback_prepare( snd_pcm_t *handle); 

Arguments:

handle
The handle for the PCM device, which you must have opened by calling snd_pcm_open() or snd_pcm_open_preferred().

Library:

libasound.so

Description:

The snd_pcm_playback_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.

You can call this function 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.


Note: If your channel has underrun, you have to reprepare it before continuing. For an example, see wave.c in the appendix.

Returns:

Zero on success, or a negative error code.

Errors:

-EINVAL
Invalid handle.
-EBUSY
Channel is already running.

Classification:

QNX Neutrino

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

See also:

snd_pcm_capture_prepare(), snd_pcm_channel_go(), snd_pcm_channel_prepare(), snd_pcm_plugin_prepare()