[alsa-devel] caiaq driver: audio 4 dj and jackd

Daniel Mack daniel at zonque.org
Mon Dec 2 17:00:13 CET 2013

On 12/02/2013 04:15 PM, Gabriel M. Beddingfield wrote:
> On 12/02/2013 01:59 AM, Daniel Mack wrote:

> Jack has always opened only one PCM device... which is the Right Thing 
> for most recording sound cards (e.g. ice1712, hammerfall, etc.). This is 
> the first "pro-sumer" device I've ever seen with multiple substream devices.

I was also uncertain when I wrote the driver which way is better. But
given that there are ways in ALSA to synchronously start separate
streams, I eventually went the stereo pairs way.

>> After all, the streams are guaranteed
>> to be synchronous, as they share the same clock in hardware.
> TBH, the whole substream concept is lost on me.  Where does this 
> guarantee come from?  From the substream concept or from intimate 
> knowledge of this device? 

Both :)

> (I.e. how would JACK know about the clock 
> guarantee?)

snd_pcm_info_get_sync() should return the same clock id for both
interfaces in that case. But I must admit I haven't tried this in awhile.

>> Technically yes, but changing that would mean breakage for all other
>> users, and making it configurable would result in yet another moving
>> part which makes things even more complex.
> How would this cause breakage?  Users that use 2 stereo substreams could 
> still work normally.

Yes, unless you opened the first subdevice with more than 2 channels.
Then an existing user for the second stream breaks. IOW: the possible
configuration and usage for subdevice 1 changes depending on that of
subdevice 0.

> But, FULL ACK on the moving parts.  That would indeed make the driver a 
> little gross on the inside.

What are your results with the multi plugin? Is that something you can
live with?


More information about the Alsa-devel mailing list