Play out all pending data in a PCM playback channel's queue and stop the channel
#include <sys/asoundlib.h> int snd_pcm_playback_flush( snd_pcm_t *handle);
Use the -l asound option to qcc to link against this library.
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.
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.
EOK on success, a negative errno upon failure. The errno values are available in the errno.h file.
- The pcm device state isn't ready.
- The operation was interrupted because of a system signal (such as a timer) or an error was returned asynchronously.
- The state of handle is invalid or an invalid state change occurred. You can call snd_pcm_channel_status() to check if the state change was invalid.
- An invalid channel was specified, or the data wasn't all flushed.
|Thread||Read the Caveats|
This function is not thread safe if handle (snd_pcm_t) is used across multiple threads.
Last modified: 2014-06-24