On 12/02/2013 01:59 AM, Daniel Mack wrote:
split up into stereo substreams. I.e. the first two channels are found in hw:x,0,0 and the last two channels are in hw:x,0,1.
That's right, but I don't see a problem with that. Why was jack having trouble using the two interfaces?
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.
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? (I.e. how would JACK know about the clock guarantee?)
...and is the the substream concept (in ALSA) trying to solve?
Ideally, substream 0 would support 1, 2, or 4 channels (for both playback and capture). When substream 0 is using more than 2 channels, then substream 1 would return EBUSY when in use.
So... would it be possible to do this in the caiaq driver?
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.
But, FULL ACK on the moving parts. That would indeed make the driver a little gross on the inside.
-gabe