On Sat, May 15, 2021 at 12:27:12AM +0200, Robin Gareus wrote:
Ardour's ALSA backend is based on zita-alsa-pcmi
Really ? That's funny because the original version of zita-alsa-pcmi
(more than 15 years ago, then known as clalsadrv) was based on Jack's
ALSA backend. For the simple reason that it was a much better source
of information than ALSA's documentation.
and does support interleaved mode, but there is no
switch to force it on.
AFAIK, none of the canonical ALSA apps (like aplay) supports such
a switch.
I always wondered why it should be necessary to test 'modes' until
one of them succeeds. The ALSA code could easily find that out for
itself, and in the end the same interface (using snd_pcm_channel_area_t)
supports all of them, so for the user code the mode doesn't matter [1].
[1] One could claim that knowing that the mode is non-interleaved
would enable the user code to be simpler, like using memcpy()
instead of looping over the samples. But
* the channel_area params would reveal that anyway, and
* usually the loop also does the sample format conversion,
so memcpy() would be ruled out anyway.
Ciao,
--
FA