Start a PCM channel running
#include <sys/asoundlib.h> int snd_pcm_channel_go ( snd_pcm_t *handle, int channel );
The snd_pcm_channel_go() function starts the channel running by calling snd_pcm_capture_go() or snd_pcm_playback_go(), depending on the value of channel.
The function should be called in SND_PCM_STATUS_READY 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 also use this function to “kick start” early a channel that has a start state of SND_PCM_START_DATA or SND_PCM_START_FULL.
When you're using snd_pcm_channel_go() for playback, 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.
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().