snd_pcm_playback_flush()

Play out all pending data in a PCM playback channel's queue and stop the channel

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_playback_flush( 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_flush() function blocks until all unprocessed data in the driver queue has been played.

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


Note: This function isn't plugin-aware. It functions exactly the same way as snd_pcm_channel_flush(.., SND_PCM_CHANNEL_PLAYBACK). Make sure that you don't mix and match plugin- and nonplugin-aware functions in your application, or you may get undefined behavior and misleading results.

Returns:

Zero on success, or a negative error code.

Errors:

-EBADFD
The pcm device state isn't ready.
-EINTR
The driver isn't processing the data (Internal Error).
-EINVAL
Invalid handle.
-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 Yes

See also:

snd_pcm_capture_flush(), snd_pcm_channel_flush(), snd_pcm_playback_drain(), snd_pcm_plugin_flush()