Hi,
it seems that we have another inconsistency with PCM MMAP mode timestamps. If I read code correctly, snd_pcm_status() returns timestamp from last interrupt BUT updates hw_ptr to current (calling snd_pcm_update_hw_ptr() again). It means, that application will get unrelated timestamp to hw position returned in snd_pcm_status() in case of mmap mode. I don't see any way to use this timestamp now. To fix this issue, I would like to create a next status ioctl which will return only mmap timestamp plus last related interrupt ring buffer position and remove 'if (runtime->tstamp_mode == SNDRV_PCM_TSTAMP_MMAP)' condition from snd_pcm_status() in driver completely. Any opinion? Other idea?
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.