[pulseaudio-discuss] Pulseaudio-equalizer module crackling with libao

Jason Newton nevion at gmail.com
Fri May 2 01:08:49 PDT 2014

Hi Sean,

I'll add libao to the list of things to investigate down the line,
flash is another thing that can exhibit this crackling characteristic.
It probably has to do with buffering and how often how much audio a
client is willing to give to pulse within the period of time
pulse/equalizer asks for the audio before the render calls starts
filling in zeros but that is just a starting point of investigation.
If the problem is indeed like flash, currently one thing you can do is
see if changing toggling tsched helps but that's just a work around at
best.   Another less-than-work-around is just to not use the equalizer
for that particular client - pavucontrol lets you accomplish this.

Unfortunately I don't really have time to work on the equalizer for a
few more months due to some project deadlines and I really can't be
missing those :-).  I will remember to look into libao though.  If you
want to look into the guts of the equalizer, it's fairly self
contained in the src/modules/module-equalizer-sink.c , however I think
to debug this interaction you may want to get familiar with the core
libraries, and source/sinks.

On Tue, Apr 29, 2014 at 8:41 PM, Sean Greenslade
<sean at seangreenslade.com> wrote:
> Hi, folks. I've been trying to track down the source of a rather odd
> problem I'm having. I've been using the pulseaudio-equalizer module, but
> it seems to have some issues when using it via libao.
> My hardware:
> - Asus eeePC 1015PEM
> - Intel Corporation NM10/ICH7 Family High Definition Audio Controller
> (on motherboard)
> - FiiO E10 USB DAC
> My software:
> - Linux wheatley 3.14.1-1-ARCH #1 SMP PREEMPT Mon Apr 14 20:40:47 CEST
> 2014 x86_64 GNU/Linux <ArchLinux>
> - pulseaudio 5.0
> - libao 1.2.0
> - alsa-lib
> To enable the EQ, I've added the following to my default.pa:
> load-module module-dbus-protocol
> load-module module-equalizer-sink
> The issue: When running [libao_sound_source] -> equalizer -> Audio card,
> the audio becomes sparse crackles. When running the same
> [libao_sound_source] -> Audio card, the audio comes through unmolested.
> But the equalizer is not broken. [S]Mplayer can feed its audio through
> the equalizer no problem, as can mpg123.
> Here is where things get a bit...bizarre, though. After playing with
> libao's settings, I discovered that if I set buffer_time to any value
> between 49 and 97 (inclusive), the audio will play through correctly.
> Any other value causes the sparse static. But(!) there is another issue.
> When playing pianobar (which uses libao), the audio buffers in a
> "caterpiller style." It will immediately dump ~20-30 seconds of audio
> into the equalizer sink and block, wait until the buffer underruns, then
> dump another ~20-30 seconds of audio.
> I realize that this may be an issue with libao (or something else
> entirely), but I'm not knowledgeable enough to dig into the
> codebases myself. If it's not a pulse issue, please point me in the
> right direction.
> Thanks,
> --Sean
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

More information about the pulseaudio-discuss mailing list