alsa-utils/axfer
Takashi Sakamoto 58c83ae239 axfer: add a common interface to align data frames on different layout
In current aplay, several files can be handled as source of data frames for
playback, or destination of captured data frames by an option
'--separate-channels' (-I).

On the other hand, in ALSA PCM kernel/user interface, several types of
buffer are used to communicate between application/hardware;
 - mapped page frame for data frames with interleaved alignment
 - mapped page frame for data frames with non-interleaved alignment
 - buffer in user space for data frames with interleaved alignment
 - a list of buffer in user space for data frames with non-interleaved
   alignment

This commit adds a common interface, named as 'mapper' to convert frame
alignment between these two sides. This interface includes two types;
'muxer' and 'demuxer'. The 'muxer' is for playback direction, to
construct playback buffer with PCM frames from several files. The 'demuxer'
is for capture direction, to split PCM frames from capture buffer to
each of file. Unlike multimedia containers such as MPEG 2/4 Systems,
the 'muxer' and 'demuxer' are for playback/capture buffer, not for file
contents.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-11-13 12:04:26 +01:00
..
test axfer: add unit test for container interface 2018-11-13 12:04:25 +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
main.c axfer: add a sub-command to print list of PCMs/devices 2018-11-13 12:04:20 +01:00
Makefile.am axfer: add a common interface to align data frames on different layout 2018-11-13 12:04:26 +01:00
mapper.c axfer: add a common interface to align data frames on different layout 2018-11-13 12:04:26 +01:00
mapper.h axfer: add a common interface to align data frames on different layout 2018-11-13 12:04:26 +01:00
misc.h axfer: add an entry point for this command 2018-11-13 12:04:19 +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.h axfer: add a sub-command to print list of PCMs/devices 2018-11-13 12:04:20 +01:00