[LAU] can jackd or ardour be forced to use interleaved mode?

Robin Gareus robin at gareus.org
Sat May 15 00:27:12 CEST 2021


On 5/15/21 12:04 AM, Chris Caudle wrote:
> Does anyone know if jackd (or the Ardour ALSA backend) can be forced to
> use interleaved mode? 

Ardour's ALSA backend is based on zita-alsa-pcmi and does support
interleaved mode, but there is no switch to force it on.

It cannot be forced since it requires at least 2 parameters (offset and
stride) the first of which may differ every cycle depending on where
memory is mapped to.

Relevant methods are snd_pcm_mmap_begin() [1] which provides the info
and pointers in a snd_pcm_channel_area_t [2] struct.

> but apparently jackd and Ardour try to open in non-interleaved mode.

Ardour indeed tries SND_PCM_ACCESS_MMAP_NONINTERLEAVED first and falls
back to SND_PCM_ACCESS_MMAP_INTERLEAVED (and
SND_PCM_ACCESS_MMAP_COMPLEX) if the former fail.

One could add an option to override this configuration behavior, but
that would only be useful for driver development/debugging.

--
robin

[1]
https://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___direct.html
[2]
https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__pcm__channel__area__t.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.linuxaudio.org/archives/linux-audio-user/attachments/20210515/57949dde/attachment.sig>


More information about the Linux-audio-user mailing list