aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/pcm.h
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2007-12-13 04:19:42 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:31 -0500
commitb751eef1fdffca5532344285f2fad0c60d2f0158 (patch)
treed504104c6315a8abc4b3f657f8f4828fb55a8795 /include/sound/pcm.h
parent25543fa785a32ce22e7374ba403eb6d38854d037 (diff)
[ALSA] Use posix clock monotonic for PCM and timer timestamps
We need an accurate and continuous (monotonic) time sources to do accurate synchronization among more timing sources. This patch allows to enable monotonic timestamps for ALSA PCM devices and enables monotonic timestamps for ALSA timer devices. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'include/sound/pcm.h')
-rw-r--r--include/sound/pcm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 5e9cc460075e..65f636223d39 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -323,6 +323,7 @@ struct snd_pcm_runtime {
323 323
324 /* -- timer -- */ 324 /* -- timer -- */
325 unsigned int timer_resolution; /* timer resolution */ 325 unsigned int timer_resolution; /* timer resolution */
326 int tstamp_type; /* timestamp type */
326 327
327 /* -- DMA -- */ 328 /* -- DMA -- */
328 unsigned char *dma_area; /* DMA area */ 329 unsigned char *dma_area; /* DMA area */
@@ -952,6 +953,15 @@ void snd_pcm_timer_resolution_change(struct snd_pcm_substream *substream);
952void snd_pcm_timer_init(struct snd_pcm_substream *substream); 953void snd_pcm_timer_init(struct snd_pcm_substream *substream);
953void snd_pcm_timer_done(struct snd_pcm_substream *substream); 954void snd_pcm_timer_done(struct snd_pcm_substream *substream);
954 955
956static inline void snd_pcm_gettime(struct snd_pcm_runtime *runtime,
957 struct timespec *tv)
958{
959 if (runtime->tstamp_type == SNDRV_PCM_TSTAMP_TYPE_MONOTONIC)
960 do_posix_clock_monotonic_gettime(tv);
961 else
962 getnstimeofday(tv);
963}
964
955/* 965/*
956 * Memory 966 * Memory
957 */ 967 */