2008/6/7 Lee Revell:
2- Is snd_pcm_avail_update() really useless when not using mmap?
The pcm.c example referenced right below that comment would indicate otherwise:
snd_pcm_delay() was added after that example was created?
I have a SB Live! where snd_pcm_delay() always returns the correct value, without any need for snd_pcm_avail_update(). But the same code in the same machine with an hda-intel AD1988 needs a call to snd_pcm_avail_update() before snd_pcm_delay() to give the correct result. Without it snd_pcm_delay() always returns the value that *was* correct in the last snd_pcm_writei() call.
So should the "application frame position" be always updated, or only in read/write operations? In the first case AD1988 fails, in the second case perhaps SB Live! is making too mucho work ;-)
Rereading this... "application frame position" only is updated in read/write operations since is the only moment were it changes :-p The problem would be with the update of the "sound frame position".
Is this with the latest ALSA HG sources?
openSUSE Build Service multimedia:audio packages: - alsa-1.0.16.hg20080510 - libasound2-1.0.16.hg20080510 - alsa-driver-kmp-default-1.0.16.20080606_2.6.22.17_0.1