help-guix
[Top][All Lists]
Advanced

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

Re: mumble issues with pulseaudio


From: Florian Paul Schmidt
Subject: Re: mumble issues with pulseaudio
Date: Sun, 2 Apr 2017 11:38:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

On 04/02/2017 11:33 AM, Florian Paul Schmidt wrote:
PulseAudio: Starting input alsa_input.pci-0000_00_1b.0.analog-stereo
PulseAudio: Starting output: alsa_output.pci-0000_00_1b.0.analog-stereo
AudioOutput: Initialized 1 channel 44100 hz mixer
AudioInput: Initialized mixer for 1 channel 44100 hz mic and 0 channel
48000 hz echo

Oops and I misread this output. Yes, it seems mumble uses PA natively here. So the first sentence in my reply below was wrong. The rest of the reply still standts as being possibly helpful in understanding what can go wrong in other scenarios.

Note though that I found the native PA support in mumble usually working worse than using the PA virtual ALSA PCM device.


Yes, this looks like mumble has opened an ALSA |PCM device that's not
the default device called "default". If it's a PCM device that is going
directly to a hardware device that does not provide stream mixing, then
this will make other calls to ALSA to open that device (either directly
or indirectly through another PCM device) _block_ until mumble has
released the device again. Also, if the device is used by e.g. PA before
mumble tries to open it, mumble's call to ALSA will _block_ until PA
released the device.

This is a longstanding bug in the ALSA API, that the ALSA devs do not
consider a bug so it will never be fixed. There have been many
discussions about how the call to ALSA should rather _fail_ than _block_
in case of the device being busy (there's a sublety here that the
failing behaviour is available, but nobody uses it, so you get this
super annoying behaviour of calls to ALSA _blocking_)..

If the PulseAudio installation shipped with GuixSD is "sane" then it
will provide a virtual ALSA pcm device and will globally route the pcm
device called "default" to this virtual PCM device. This device will
provide stream mixing, etc..

So any ALSA application that just uses the "default" PCM device should
work out of the box with a sane PA installation since this "default" PCM
device is just a name for the virtual PCM device provided by PA.

Mumble additionally also has "native" PA support which you can build in.
So to make mumble work on a PA system either

1] use the PA provided virtual PCM device "default"

or

2] build mumble with native PA support and enable it in the preferences.

Flo


--
https://fps.io



reply via email to

[Prev in Thread] Current Thread [Next in Thread]