Crash and/or distortion when remapping a remapped sink.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux