Brian,

The limitations comes from the way ADAT is managing different sample rates. With that kind of device the number of channels is linked to the sample rate (as you probably already know). Our device has 6 "analog" IN/OUT channels and up to 8 IN/OUT digital channels. The "8 channels" case being the use of a 44.1/48K ADAT link, the 4 channels the use of a 88.2/96K ADAT link and "2 channels" the use of a 176.4/192K ADAT link. So we range from 8 to 14 channels depending on the sample rate. Because of some firmware internal limitations I don't fully understand yet, I have to keep the max number of IN/OUT channels under 10 in order to get a working device at 176.4/192K.

This is why I was experimenting with different alternate configurations. I've finally been able to solve the discrepancy between IN and OUT (it was a consequence of an overwrite of the channels number in the USB descriptors by the original firmware when the device is enumerated, when the host is requesting configuration descriptors for different USB speed). Now, Audio MIDI Setup displays correctly my 3 alternate configurations. And then I have the problem of the max number of channels mentioned above. I have a working device if I compile 3 hard-coded configurations in 3 different firmware binaries.

I think it's a problem coming from the modifications I have made to the original firmware (a reference design from a well known manufacturer). So I'll contact them to analyze it.

Anyway, thank you for your help.

Philippe

On 03/04/16 04:56, Brian Willoughby wrote:
Philippe,

On Mar 31, 2016, at 6:40 AM, Philippe Wicker <[email protected]> 
wrote:
On 31/03/16 07:17, Brian Willoughby wrote:
https://developer.apple.com/library/mac/technotes/tn2274/_index.html

Another aspect of your question seems to revolve around whether you can tie the 
number of input channels to output channels. I haven't reviewed the USB Audio 
2.0 specifications looking for this particular answer, but I suspect that 
you'll need to represent your requirements in the USB Descriptors before OSX 
will know how to match the input and output channel counts.
To my understanding Clock and Streams descriptors are independent. And IN and 
OUT Streams descriptors are also independent. Which means that it could be 
possible to choose some streams configuration for the Input side, and another 
for the Output side. This is a point I'll have to investigate, how to make sure 
that a user won't be able to choose non consistent configurations.

What are your actual limitations?

Are input and output both going through a shared CODEC where the sample rates 
must match? I understand the ADAT channel limitations are based on sample rate, 
so those can't be exceeded.

If you try other USB Descriptors, let us know your results. You might want to 
restart this thread on the USB list at that point.

Brian


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to