I managed to write ALSA code that writes to a single
card:
it opens the PCM hw:0 device selects 10 channel interleaved S32_LE mode
and then writes out some data. This works perfectly for a single card.
not entirely suprising: its the most basic thing to do :)
Now my question:
I would like to extend this app so that it writes to both cards simultaneously
without going out of sync.
why do this again and again for every application? why not work on
alsa-lib's existing support for linked cards and make it work without
any extra snd_pcm_t's in application code? alsa-lib already supports
linking the h/w together via ~/.asoundrc, but AFAIK it doesn't attempt
to keep them in sync. working on this within alsa-lib would be much
more valuable than an app-specific solution.
Or is some special "sync start" procedure
needed ?
I remember ALSA had/has provides some functionality in this regard
but I was unable to find documentation about it.
snd_pcm_link() will link the two handles together. start/stop/pause
operations then work on both of them. it does not ensure sync.
--p