[gst-devel] pulsesink optimizations

pl bossart bossart.nospam at gmail.com
Thu Oct 15 01:13:45 CEST 2009

Howdy Rene',

> Wim just committed my patch that changes pulsesink back to set the minreq to
> the value of the latency-time property, which lets applications tune the
> gst<->pa overhead again.

Humm, my experiments show that the core activity increases when minreq
is > 64k. I sort of remember Lennart mentioning that this was the size
of the block allocated in PA, and beyond this you would use malloc().
Besides, it seems to me that the total latency is really defined by
tlength, if you increase minreq the size of the server buffer will be
adjusted. See Lennart's page at
http://pulseaudio.org/wiki/LatencyControl, latency is defined with
tlength, minreq has no direct impact on latency.
And as I mentioned it, the patch doesn't change the overhead since we
keep writing the same size no matter what minreq was set to.

> During the investigation of that regression, I found that there is some further
> things to optimize in pulsesink. I will be filing more bugs and sending more
> patches as I come up with better solutions.

Will send you my code.

> For the time being, I think you can get almost the same performance/battery
> life gain by increasing the output buffer size of your audio decoders. Felipe
> Contreras has been trying this with the vorbis decoder, with good results.

That's not necessarily an option. There are 3rd party decoders out
there whose code is not necessarily public. And fixing the decoders is
somewhat odd when the real problem is the sink...

More information about the gstreamer-devel mailing list