![]() |
![]() |
![]() |
Flush all unprocessed data in the driver queue
#include <sys/asoundlib.h> int snd_pcm_plugin_flush( snd_pcm_t * handle, int channel );
libasound.so
The snd_pcm_plugin_flush() function flushes all unprocessed data in the driver queue.
If the plugin is processing playback data, the call blocks until all data in the driver queue is played out the channel.
If the plugin is processing capture data, any unread data in the driver queue is discarded.
A positive number on success, or a negative value on error.
See the example in Flush in the Playing audio data chapter.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
Because the plugin interface may be subbuffering the written data until a complete driver block can be assembled, the flush call may have to inject up to (blocksize-1) samples into the channel so that the last block can be sent to the driver for playing. For this reason, the flush call may return a positive value indicating that this silence had to be inserted.
![]() |
![]() |
![]() |