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