snd_pcm_capture_flush()

Отказ от приема всех буферизированных в очереди захваченных данных и остановка PCM канала

Прототип:

#include <sys/asoundlib.h>
int snd_pcm_capture_flush( snd_pcm_t *handle );

Аргументы:

handle
Дескриптор PCM устройства, созданный с помощью snd_pcm_open() или snd_pcm_open_preferred().

Библиотека:

libasound

Описание:

Функция snd_pcm_capture_flush() сбрасывает все необработанные данные в очереди драйвера. Если операция проходит успешно (возвращен код 0), состояние канала меняется на SND_PCM_STATUS_READY, а сам канал останавливается.


Note: Функция не является безовасной при использовании плагинов конвертирования. Она функционирует аналогично snd_pcm_channel_flush( .., SND_PCM_CHANNEL_CAPTURE ). Следует убедиться, что не смешиваются совместимые и не совместимые с плагинами вызовы API. В противном случае поведение библиотеки будет непредсказуемым.

Возвращаемое значение:

0
Успешное завершение.
-EBADFD
PCM устройство не находится в состоянии готовности.
-EINTR
Драйвер не обрабатывает данные (внутренняя ошибка).
-EINVAL
Некорректный аргумент handle.
-EIO
Указан некорректный канал или не все данные были отправлены на обработку.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

snd_pcm_channel_flush(), snd_pcm_playback_drain(), snd_pcm_playback_flush(), snd_pcm_plugin_flush()




Предыдущий раздел: Библиотека libasound