[alsa-devel] [PATCH - alsa-lib 0/4] Add pcm_file input file support for MMAP

Adam Miartus amiartus at de.adit-jv.com
Tue May 21 15:32:26 CEST 2019


implement overwriting read buffer with input file in case of
RW_NONINTERLEAVED and MMAP access modes for alsa file plugin

first two patches introduce a helper function for copying data from
input file to readi and readn buffers for user. to facilitate this
snd_pcm_areas_from_buf and snd_pcm_areas_from_bufs with
snd_pcm_areas_copy is used. Previous readi behaviour in corner
case of input file EOF is changed (more in patch comment).

Patch 3,4 introduce new api callback mmap_begin to ease overwritting
mmaped buffer in case of MMAP access.

Adam Miartus (4):
  pcm_file: add support for infile reading in non interleaved mode
  pcm_file: use snd_pcm_file_areas_read_infile for readi
  pcm: add mmap_begin callback to snd_pcm_fast_ops_t api
  pcm_file: add infile read support for mmap mode

 src/pcm/pcm.c           |   6 +++
 src/pcm/pcm_dmix.c      |   1 +
 src/pcm/pcm_dshare.c    |   1 +
 src/pcm/pcm_dsnoop.c    |   1 +
 src/pcm/pcm_file.c      | 125 ++++++++++++++++++++++++++++++++++++++----------
 src/pcm/pcm_generic.h   |   1 -
 src/pcm/pcm_hooks.c     |   1 +
 src/pcm/pcm_hw.c        |   2 +
 src/pcm/pcm_ioplug.c    |   1 +
 src/pcm/pcm_local.h     |   1 +
 src/pcm/pcm_meter.c     |   1 +
 src/pcm/pcm_mmap_emul.c |   1 +
 src/pcm/pcm_multi.c     |   1 +
 src/pcm/pcm_null.c      |   1 +
 src/pcm/pcm_plugin.c    |   1 +
 src/pcm/pcm_rate.c      |   1 +
 src/pcm/pcm_share.c     |   1 +
 src/pcm/pcm_shm.c       |   1 +
 18 files changed, 122 insertions(+), 26 deletions(-)

-- 
2.7.4



More information about the Alsa-devel mailing list