]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm: Provide a CLOCK_MONOTONIC_RAW timestamp type
authorMark Brown <broonie@linaro.org>
Tue, 8 Jul 2014 14:52:32 +0000 (16:52 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 14 Jul 2014 15:35:07 +0000 (17:35 +0200)
For applications which need to synchronise with external timebases such
as broadcast TV applications the kernel monotonic time is not optimal as
it includes adjustments from NTP and so may still include discontinuities
due to that. A raw monotonic time which does not include any adjustments
is available in the kernel from getrawmonotonic() so provide userspace with
a new timestamp type SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW which provides
timestamps based on this as an option.

Reported-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/asound.h

index 1774a5c3ef102354de2808899c5ce73c8ff47b0e..9061cdd5b69f92daf53533895889b9c251ab2ca7 100644 (file)
@@ -457,7 +457,8 @@ struct snd_xfern {
 enum {
        SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, /* gettimeofday equivalent */
        SNDRV_PCM_TSTAMP_TYPE_MONOTONIC,        /* posix_clock_monotonic equivalent */
-       SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC,
+       SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW,    /* monotonic_raw (no NTP) */
+       SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW,
 };
 
 /* channel positions */