[pulseaudio-discuss] Crash and/or distortion when remapping a remapped sink.

Lennart Poettering lennart at poettering.net
Fri Aug 7 15:13:34 PDT 2009


On Fri, 24.07.09 17:07, Colin Guthrie (gmane at colin.guthr.ie) wrote:

> Hi Lennart,
>
> From IRC, but as you're busy and I suspect this wont get immediate  
> attention, I'll post the details here for later :)
>
> <coling> mezcalero, found a reliable way to produce some nasty  
> distortion that should not happen....
> <coling> 1) >>> load-module module-remap-sink sink_name=mono  
> master=<alsa sink name> channels=1 master_channel_map=front-left  
> channel_map=mono
> <coling> 2) >>> load-module module-remap-sink sink_name=fakestereo  
> master=mono channels=2 master_channel_map=mono,mono  
> channel_map=front-left,front-right
> <coling> 3) PULSE_SINK=fakestereo paplay foo.wav
> <coling> That's it.
> <coling> Pretty nasty :s
> <coling> mezcalero, incidentally, the above process also causes an  
> assert half the time too.
> <coling> E: sink.c: Assertion '!s->thread_info.rewind_requested' failed  
> at pulsecore/sink.c:843, function pa_sink_render(). Aborting.

This fix should be fixed now in r7d49163. Please verify.

The distortion is probably caused because the handling of having two
mono channels is not what you expect. i.e. we probably just add them,
effectively amplifiyng the original signal 2x, which might easily
trigger clipping.

If you run PA in debug mode the resamplers/remixers will dump a little
table that tells you how each input channel is added up for the output
channels. Could you please find out that table and check out if that
triggers your problem? (i.e. both input mono channels are multiplied
by factor 1.0 instead of 0.5?)

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list