Davin McCall wrote:
Here's a long description of what my Alsa-driver patch does.
Great explanation, thanks!!! Greatly appreciated by me and I'm sure a lot others.
Previously Wine's Alsa driver was using an undocumented internal Alsa call to (_snd_pcm_hw_get_ptr, or something like that) to get the hardware's current buffer position (the "play position").
This is one of the things that my patch does - when snd_pcm_mmap_begin() is called, the returned offset is saved in This->mmap_ppos.
I'm missing a point from your explanation here: Why do you even need the hardware play position? It seems that the ALSA folks went to some length to hide it from you..