[alsa-devel] [PATCH] alsa-lib: Provide a CLOCK_MONOTONIC_RAW timestamp type
Takashi Iwai
tiwai at suse.de
Thu Jul 10 12:22:36 CEST 2014
At Wed, 09 Jul 2014 21:40:02 +0200,
Clemens Ladisch wrote:
>
> Takashi Iwai wrote:
> > Currently, the timestamp mode is set implicitly in alsa-lib pcm_hw.c:
> > - When kernel PCM protocol version is high enough, alsa-lib hw prefers
> > the monotonic always (if available), then set pcm->monotonic = 1.
> > - Application can ask whether the current timestamp is monotonic or
> > not via snd_pcm_hw_params_is_monotonic().
> > So, only adding the flag above doesn't suffice. If we need to add a
> > new mode, the API has to be extended as well.
> >
> > But how? The current API assumes that the monotonic mode was already
> > determined before hw_params. We may add a set of new hw_params get
> > and set calls for tstamp mode while keeping the old API. This would
> > be one option. Another option would be to add a new PCM open flag
> > SND_PCM_TSTAMP_MONOTONIC_RAW, and snd_pcm_hw_params_is_monotonic_raw()
> > function. The latter is easier (a simpler addition), while the former
> > is more extensible to newer formats in future.
>
> These timestamps cannot be handled by hardware drivers; they are always
> read by the ALSA framework, in software. Furthermore, switching between
> MONOTONIC and MONOTONIC_RAW is possible at any time. Therefore, the
> timestamp mode should be made a part of sw_params; just add a field
> named tstamp_mode ...
Sounds reasonable. I'll respin the kernel patches as well.
Takashi
More information about the Alsa-devel
mailing list