Here is a snippet of the official Apple Documentation of AudioBufferList (Core Audio Data Types Reference):
AudioBufferList
Holds a variable length array of AudioBuffer structures.struct AudioBufferList { UInt32 mNumberBuffers; AudioBuffer mBuffers[1]; }; typedef struct AudioBufferList AudioBufferList;Fields
mNumberBuffers
The number of AudioBuffer structures in the mBuffers array.
mBuffers
A variable length array of AudioBuffer structures.
If mBuffers is defined as AudioBuffer[1] it is not of variable length and thus mNumberBuffers is implicitly defined as 1.
Do I miss something here or is this just nonsense?