[alsa-devel] Driver - PCM MMAP mode timestamps

Jaroslav Kysela perex at perex.cz
Tue Jan 8 10:45:34 CET 2008


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 at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list