[pulseaudio-discuss] *reminder* Re: [PATCH 0/3] Fighting rewinds
david.henningsson at canonical.com
Tue Dec 14 23:41:38 PST 2010
On 2010-12-09 14:54, David Henningsson wrote:
> As some of you have seen on IRC, I spent the some of the last week
> fighting rewinds.
> An never-ending stream of rewinds seems to be one of the most common
> reasons PulseAudio crashes or produces crackling/stuttering output, so
> there is a strong incentive to fix it.
> However, the problem is quite complex and there does not seem to be one
> perfect fix, it's more of an optimisation problem. GStreamer in
> particular sends out many small data packages, and PulseAudio does not
> handle that very well.
> When the sink-input buffer is empty, going from there to a full buffer
> is an uphill battle in terms of CPU power, as PulseAudio will try to
> rewind (at RT priority!) and mix the new data into it; all with the very
> best intent, but the end result of taking CPU power away from the client.
> GStreamer has at least two problems:
> * It starts/uncorks the stream when the buffer is empty (this might have
> been fixed by Wim a day or two ago)
> * It sends out very small packages (c:a 1 - 4K).
> Here are three patches trying to help out on the PA side.
> * The first one is a relatively simple optimisation than can cut the
> rewinds in half by allowing both a seek and a post to be merged into one
> * The second one builds on the first, and adds the possibility for
> several data packages to share a rewind by checking if there are more
> data packets in queue before doing a rewind.
> * The third makes sure that after an underrun, there is a little
> headroom before asking for a rewind.
> Hopefully this will improve the situation for at least a few users. The
> idea is to let you do initial comment and review, then make a package
> and ask some Ubuntu users to test it. After that I'll report back and we
> can consider inclusion into stable-queue.
I never saw any feedback on the patches, is this because of lack of
time, interest (i e you're not affected by the problem anyway), or
knowledge (i e you don't know how the stuff works), or something else?
For users running Ubuntu Maverick, there is a ppa for easy testing here:
It also includes two fixes on the gstreamer side.
David Henningsson, Canonical Ltd.
More information about the pulseaudio-discuss