I am recording from multiple (cheap USB) mics, and trying to synchronize them. I am assuming that there will be a common minimum latency (reflecting an uncontested USB bus), with occasional spikes up - but not down. In my loop, I am calling snd_pcm_mmap_begin(), snd_pcm_htimestamp(), and snd__mmap_commit() in that order. My question is about the 'avail' value returned from htimestamp. It is documented as "Number of available frames when timestamp was grabbed". Does this mean frames since the last frame consumed with _mmap_commit()? Is there a possibility of there being no timestamp, or one where 'avail' refers to some older state? Thanks for any insight. -Eric