Clarification on ASIO Spec for buffer size granulatity


I was wondering if someone from Steinberg could clarify the meaning of the granularity setting returned from ASIOGetBufferSize. I have a customer with an Focusrite device that’s returning the following:

asio - getBufferSize returned min=8 max=1024 pref=56 granularity=16

Which could be interpreted two ways. Either:

a) starting at 8 and increasing by 16 ie: 8, 24, 40, 56, 72, 88, 104 etc…
b) multiples of 16 between 8 and 1024. ie: 16, 32, 48, 64, etc…

Note that the driver is returning 56 as the preferred buffer size, which is not a valid buffer size if you take the second interpretation - that to me suggests the first interpretation is what they mean.

The response from the drive is ambiguous but it’d be great to get some clarification on how a host should treat such a response.


it’s a)