snd_pcm_channel_flush()

Flush all pending data in a PCM channel's queue and stop the channel

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_channel_flush( 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 to qcc to link against this library.

Description:

The snd_pcm_plugin_flush() function flushes all unprocessed data in the driver queue by calling snd_pcm_capture_flush() or snd_pcm_playback_flush(), depending on the value of channel.

Returns:

EOK on success, a negative errno upon failure. The errno values are available in the errno.h file.

Errors:

Additional information for common error values:
-EBADFD
The PCM device state isn't Ready.
-EINTR
The operation was interrupted because of a system signal (such as a timer) or an error was returned asynchronously.
-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_channel_status() to check if the state change was invalid.
-EIO
An invalid channel was specified, or the data wasn't all flushed.

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.