snd_pcm_playback_go()

Start a PCM playback channel running

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_playback_go ( 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_go() function starts the playback channel running.

You should call this function only when the channel is in the SND_PCM_STATUS_READY state, and you should ensure that two or more audio fragments have been written into the audio interface before issuing the go command, to prevent the audio channel/stream from going into the UNDERRUN state.

Calling this function is required if you've set your channel's start state to SND_PCM_START_GO (see snd_pcm_plugin_params()). You can use this function to “kick start” early a playback channel that has a start state of SND_PCM_START_DATA or SND_PCM_START_FULL.

If the parameters are valid (i.e, the function returns zero), then the driver state is changed to SND_PCM_STATUS_RUNNING.

This function is safe to use with plugin-aware functions. This call is used identically to snd_pcm_plugin_params().

Returns:

EOK
Success.
-EINVAL
Invalid handle.
-EIO
Invalid channel.
-EMORE
Insufficient audio fragments have been written to the audio interface (when writing to the software mixer device).

Classification:

QNX Neutrino

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

See also:

snd_pcm_capture_go(), snd_pcm_channel_go()