Messages in this thread | | | Date | Thu, 5 Oct 2023 09:23:51 +0200 | Subject | Re: [PATCH 1/2] ALSA: aloop: Add support for the non-interleaved access mode | From | Jaroslav Kysela <> |
| |
On 27. 09. 23 13:35, Ivan Orlov wrote: > The current version of the loopback driver supports interleaved access > mode only. This patch introduces support for the non-interleaved > access mode. > > When in the interleaved mode, the 'copy_play_buf' function copies data > from the playback to the capture buffer using one memcpy call. This call > copies samples for multiple, interleaved channels. > > In the non-interleaved mode we have multiple channel buffers, so we have > to perform multiple memcpy calls to copy samples channel after channel. > > Add new function called 'copy_play_buf_part_n', which copies a part of > each channel buffer from playback to capture. Modify the 'copy_play_buf' > to use the corresponding memory copy function(just memcpy / > copy_play_buf_part_n) depending on the access mode. > > Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Nice extension. Thank you.
> +static void copy_play_buf_part_n(struct loopback_pcm *play, struct loopback_pcm *capt, > + unsigned int size, unsigned int src_off, unsigned int dst_off)
I would probably prefer to have dst,src,size arguments to follow memcpy, but it's really nitpicking.
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav
-- Jaroslav Kysela <perex@perex.cz> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
| |