From: Jaroslav Kysela Date: Tue, 8 Jan 2008 11:24:01 +0000 (+0100) Subject: [ALSA] PCM core - remove SNDRV_PCM_TSTAMP_MMAP condition in snd_pcm_status() X-Git-Tag: v2.6.25-rc1~1127^2~157 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=a713b5834731f32757b30de038dcb995afac2ad1;p=linux-2.6-omap-h63xx.git [ALSA] PCM core - remove SNDRV_PCM_TSTAMP_MMAP condition in snd_pcm_status() The condition caused that the returned ring buffer position does not match with timestamp when SNDRV_PCM_TSTAMP_MMAP mode was enabled. Removing condition makes unified behaviour and interrupt based timestamp can be accessed via PCM_IOCTL_SYNC_PTR or mmaped status area. Signed-off-by: Jaroslav Kysela --- diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 2e7b1e63db9..3fc33deabe3 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -593,14 +593,9 @@ int snd_pcm_status(struct snd_pcm_substream *substream, if (status->state == SNDRV_PCM_STATE_OPEN) goto _end; status->trigger_tstamp = runtime->trigger_tstamp; - if (snd_pcm_running(substream)) { + if (snd_pcm_running(substream)) snd_pcm_update_hw_ptr(substream); - if (runtime->tstamp_mode == SNDRV_PCM_TSTAMP_MMAP) - status->tstamp = runtime->status->tstamp; - else - snd_pcm_gettime(runtime, &status->tstamp); - } else - snd_pcm_gettime(runtime, &status->tstamp); + snd_pcm_gettime(runtime, &status->tstamp); status->appl_ptr = runtime->control->appl_ptr; status->hw_ptr = runtime->status->hw_ptr; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {