ALSA: core: add hooks for audio timestamps
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 22 Oct 2012 21:42:15 +0000 (16:42 -0500)
committerTakashi Iwai <tiwai@suse.de>
Tue, 23 Oct 2012 14:13:48 +0000 (16:13 +0200)
commit4eeaaeaea1cec60a25979678182720dc91308550
treeef6895d3ff86454cc6348e2efde2313eceb24471
parent0e8014d772a7639f48d234b23dc4ce97335cce7f
ALSA: core: add hooks for audio timestamps

ALSA did not provide any direct means to infer the audio time for A/V
sync and system/audio time correlations (eg. PulseAudio).
Applications had to track the number of samples read/written and
add/subtract the number of samples queued in the ring buffer.  This
accounting led to small errors, typically several samples, due to the
two-step process.  Computing the audio time in the kernel is more
direct, as all the information is available in the same routines.

Also add new .audio_wallclock routine to enable fine-grain synchronization
between monotonic system time and audio hardware time.
Using the wallclock, if supported in hardware, allows for a
much better sub-microsecond precision and a common drift tracking for
all devices sharing the same wall clock (master clock).

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
include/uapi/sound/asound.h
sound/core/pcm_compat.c
sound/core/pcm_lib.c
sound/core/pcm_native.c