Discard all pending data in a PCM capture channel's queue and stop the channel
Synopsis:
#include <sys/asoundlib.h>
int snd_pcm_capture_flush( snd_pcm_t *handle);
Library:
libasound.so
Use the -l asound option with
qcc
to link against this library.
Description:
The snd_pcm_capture_flush() function
throws away all unprocessed data in the driver queue.
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_CAPTURE).
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:
EOK on success, a negative errno upon failure. The
errno values are available in the errno.h
file.
Errors:
- -EBADFD
- The pcm device state isn't ready.
- -EINTR
- The operation was interrupted because of a system signal (such as a timer) or an error was
returned asynchronously.
- -EINVAL
- 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.
- -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 |
Read the Caveats |
Caveats:
This function is not thread safe if handle (snd_pcm_t)
is used across multiple threads.