From 0d59b814353d397ff5d00ac33acd536030252a98 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Fri, 6 Feb 2015 15:55:50 -0600 Subject: ALSA: pcm: don't override timestamp unconditionally timestamp in RUNNING mode is already taken in update_hw_ptr routine, getting a new timestamp introduces offset between hw_ptr, audio_tstamp and system time Add else condition to read timestamp as fallback and only when enabled Signed-off-by: Pierre-Louis Bossart Signed-off-by: Takashi Iwai --- sound/core/pcm_native.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sound/core') diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 932234d87927..4ecd35fbfe3f 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -720,8 +720,11 @@ int snd_pcm_status(struct snd_pcm_substream *substream, runtime->status->audio_tstamp; goto _tstamp_end; } + } else { + /* get tstamp only in fallback mode and only if enabled */ + if (runtime->tstamp_mode == SNDRV_PCM_TSTAMP_ENABLE) + snd_pcm_gettime(runtime, &status->tstamp); } - snd_pcm_gettime(runtime, &status->tstamp); _tstamp_end: status->appl_ptr = runtime->control->appl_ptr; status->hw_ptr = runtime->status->hw_ptr; -- cgit v1.2.3