Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 8
Finish processing all pending data in a PCM channel's queue and stop the channel
#include <sys/asoundlib.h>
int snd_pcm_plugin_flush( snd_pcm_t *handle,
int channel );
- handle
- The handle for the PCM device, which you must have opened by calling
snd_pcm_open()
or
snd_pcm_open_preferred().
- channel
- The channel; SND_PCM_CHANNEL_CAPTURE or
SND_PCM_CHANNEL_PLAYBACK.
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.
If the operation is successful (zero is returned), the channel's
state is changed to SND_PCM_STATUS_READY.
A positive number on success, or a negative value on error.
- -EINVAL
- Invalid handle.
See the
wave.c example
in the appendix.
QNX Neutrino
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.
This function is the plugin-aware version of
snd_pcm_channel_flush().
It functions exactly the same way, with the above caveat.
However, 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.
snd_pcm_capture_flush(),
snd_pcm_channel_flush(),
snd_pcm_playback_flush(),
snd_pcm_plugin_playback_drain()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 170
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/audio/libs/snd_pcm_plugin_flush.html on line 170