2012-8-19 ??7:17 ? "Tanu Kaskinen" <tanuk at iki.fi> ??? > > Hi, > > While reviewing a rewind related patch, I noticed that I don't > understand the rewinding code thoroughly, even though I have studied it > a few times in the past. I decided that I should write a wiki page for > the code so that working with it would be easier in the future for me > and everybody else. > > So, here's the result: > http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Rewinding > > While doing that, I found quite a few bugs, which are noted on that > page. I don't plan fixing them any time soon (help with that would be > very welcome), so I will just file bugs about the issues so that they > are not forgotten. > it seem that the alsa sink is more complicated than your figure. Refer to figure 14 HD Audio DMA and buffering , section 4.6 Energy Efficient HA audio mechanism most sound cards have fixed size FIFO buffer instead of dynamic FIFO and minimum transfer size(brust) similar to hda controller which snd_pcm_rewind cannot rewind any audio data in those first in first out buffer. http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa?id=4df443bbe682055a41e7c2248877dcc7682a69b8 1) do the server really need to rewind when there is only one pulse client ? 2) does pulseaudio add this rewind safeguard delay to the latency ? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20120822/1e61a645/attachment.html>