alsa-utils/axfer
Takashi Sakamoto c46d46a436 axfer: add support for non-blocking operation
In alsa-lib PCM API, snd_pcm_read[i|n]() and snd_pcm_write[i|n] can be
used with non-blocking mode. This is available when SND_PCM_NONBLOCK is
used as 'mode' argument for a call of snd_pcm_open().

This commit adds support this type of operation. To reduce CPU usage, this
commit uses 'snd_pcm_wait()' to wait for event notification.

Below lines are examples to execute:
$ axfer transfer -N -P -d 2 -D hw:0,3 /dev/urandom -f dat -vvv
$ axfer transfer -N -C -d 2 -D hw:1,0 /dev/null -r 48000 -vvv

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-11-13 12:04:36 +01:00
..
test axfer: add a unit test for mapper interface 2018-11-13 12:04:28 +01:00
container-au.c axfer: add support for a container of Sparc AU format 2018-11-13 12:04:23 +01:00
container-raw.c axfer: add support for a container of raw data 2018-11-13 12:04:25 +01:00
container-riff-wave.c axfer: add support for a container of Microsoft/IBM RIFF/Wave format 2018-11-13 12:04:22 +01:00
container-voc.c axfer: add support for a container of Creative Tech. voice format 2018-11-13 12:04:23 +01:00
container.c axfer: add support for a container of raw data 2018-11-13 12:04:25 +01:00
container.h axfer: add support for a container of raw data 2018-11-13 12:04:25 +01:00
frame-cache.c axfer: add support for blocking data transmission operation of alsa-lib PCM API 2018-11-13 12:04:32 +01:00
frame-cache.h axfer: add support for blocking data transmission operation of alsa-lib PCM API 2018-11-13 12:04:32 +01:00
main.c axfer: add a sub-command to transfer data frames 2018-11-13 12:04:33 +01:00
Makefile.am axfer: add a sub-command to transfer data frames 2018-11-13 12:04:33 +01:00
mapper-multiple.c axfer: add support for a mapper for multiple target 2018-11-13 12:04:28 +01:00
mapper-single.c axfer: add support for a mapper for single target 2018-11-13 12:04:27 +01:00
mapper.c axfer: add support for a mapper for multiple target 2018-11-13 12:04:28 +01:00
mapper.h axfer: add support for a mapper for multiple target 2018-11-13 12:04:28 +01:00
misc.h axfer: add a parser for command-line options 2018-11-13 12:04:30 +01:00
subcmd-list.c axfer: add a sub-command to print list of PCMs/devices 2018-11-13 12:04:20 +01:00
subcmd-transfer.c axfer: add options related to duration and obsolete '--max-file-size' option 2018-11-13 12:04:35 +01:00
subcmd.h axfer: add a sub-command to transfer data frames 2018-11-13 12:04:33 +01:00
xfer-libasound-irq-rw.c axfer: add support for non-blocking operation 2018-11-13 12:04:36 +01:00
xfer-libasound.c axfer: add support for non-blocking operation 2018-11-13 12:04:36 +01:00
xfer-libasound.h axfer: add support for non-blocking operation 2018-11-13 12:04:36 +01:00
xfer-options.c axfer: add options related to duration and obsolete '--max-file-size' option 2018-11-13 12:04:35 +01:00
xfer.c axfer: add support to transfer data frames by alsa-lib PCM APIs 2018-11-13 12:04:31 +01:00
xfer.h axfer: add options related to duration and obsolete '--max-file-size' option 2018-11-13 12:04:35 +01:00