snd_pcm_playback_drain()

Stop the PCM playback channel and discard the contents of its queue

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_playback_drain( snd_pcm_t *handle );

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().

Library:

libasound.so

Use the -l asound option to qcc to link against this library.

Description:

The snd_pcm_playback_drain() function stops the PCM playback channel associated with handle and causes it to discard all audio data in its buffers. This all happens immediately, even if the channel's current state has been set to SND_PCM_STATUS_SUSPENDED or SND_PCM_STATUS_PAUSED by audio management policies in place.

If the operation is successful (zero is returned), the channel's state is changed to SND_PCM_STATUS_READY.

Returns:

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

Errors:

-EINVAL
The state of the handle is invalid or an invalid state change occurred, or the PCM device state isn't ready. You can call snd_pcm_channel_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.