[alsa-devel] [pulseaudio-discuss] Documentation for how rewinding works
Raymond Yau
superquad.vortex2 at gmail.com
Wed Aug 22 03:14:54 CEST 2012
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 ?
More information about the Alsa-devel
mailing list