How to interperet snd_pcm_htimestamp available frames?

Takashi Iwai tiwai at suse.de
Wed Dec 2 15:52:48 CET 2020


On Sun, 22 Nov 2020 17:03:35 +0100,
Eric Buddington wrote:
> 
> 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()?

It's the value that is equivalent with the one in snd_pcm_status and
co: the available frames in the ring buffer.

> Is there a possibility of there being no timestamp, or one where
> 'avail' refers to some older state?

It was a quite long time ago that I tested it, but I don't think there
has been any significant changes in this regard.
I guess Pierre can have better insight.


Takashi


More information about the Alsa-devel mailing list