[alsa-devel] [PATCH - alsa-lib 0/4] Add pcm_file input file support for MMAP
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(-)
On Tue, 21 May 2019 15:32:26 +0200, Adam Miartus wrote:
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
Thanks for resubmission. Now I merged the first two patches, as they are safe and good fixes.
The patches 3 and 4 are still pending, although I'm inclined to take them for now. Someone might have a better idea without the extra base ops change.
In anyway, the patch 3 can be a bit simplified; the extra NULL initialization is superfluous, so you can drop those lines.
Oh, BTW, at the next time to submit a patch set, please try to keep the threading. Usually git-send-email creates thread automatically when you send the whole patches in a shot.
Takashi
participants (2)
-
Adam Miartus
-
Takashi Iwai