mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.13k stars 1.1k forks source link

PulseAudio problems in Mumble #1910

Open JacekHoleczek opened 8 years ago

JacekHoleczek commented 8 years ago

There exist two problems with PulseAudio usage in Mumble.

  1. Mumble offers "Audio Output" -> "Interface" -> "Device" settings which it "inherits" from PulseAudio, but the ordering of devices in Mumble does not correspond to "PulseAudio Volume Control" (i.e. "pavucontrol") lists. Moreover, the ordering of devices in Mumble changes when one of them is "selected" (it becomes the first in the list). This is a problem as PulseAudio tends to use the same names for different but similar devices. For example, when I create several ALSA loopback devices, they all appear in PulseAudio as "Loopback Analog Stereo", so the only way to distinguish them is the actual place where each of them appears in the "PulseAudio Volume Control" lists. Similarly, when I create several "combined sinks" in PulseAudio ("pactl load-module module-combine-sink ..."), they all get the same name "Simultaneous output to ..." and again the only way to distinguish them is the actual place where each of them appears in the "PulseAudio Volume Control" lists. I believe all devices in Mumble should always appear in exactly the same order as they originally were created (i.e. in exactly the same order as they appear in "PulseAudio Volume Control" lists).
  2. Mumble offers "Audio Input" -> "Interface" -> "Device" settings but this list is missing vital devices (and, of course, also the ordering is misleading). PulseAudio's "Loopback Analog Stereo" are visible (again, the ordering is wrong), but they are pretty useless. One actually needs the corresponding "Monitor of Loopback Analog Stereo" devices (they appear in "PulseAudio Volume Control", of course), but Mumble does not list them at all. Moreover, Mumble does not list any existing "Monitor Source of Simultaneous output to ..." devices (note again, one needs the "Monitor Source of Simultaneous output to ..." and not the corresponding "Simultaneous output to ..."). Again, I believe all devices in Mumble should always appear in exactly the same order as they were created (i.e. in exactly the same order as they appear in "PulseAudio Volume Control" lists), regardless of which device has been "selected".

Could you, please, fix these issues.

mkrautz commented 8 years ago

tl;dr

  1. Don't sort output devices alphabetically, use PulseAudio's own ordering.
  2. Don't filter away any input devices. Don't sort them alphabetically, use PulseAudio's own ordering.
JacekHoleczek commented 8 years ago

Where do you see such options in Mumble's "Settings"? Or, do you mean these are the thinks that need to be implemented/fixed in Mumble?

mkrautz commented 8 years ago

I just made a short description of what you want implemented in Mumble. :-)

JacekHoleczek commented 8 years ago

Yes, that's fine then, just add ...

  1. do not move the currently selected/chosen input/output device to the top of the list.
lichtmetzger commented 8 years ago

A workaround for 2. is to hook a pulseaudio source to the sink of the input you want to use:

pactl load-module module-null-source source_name=source1 description="Virtual Mic"
pactl load-module module-loopback sink=whateveryoursinkiscalled source=source1
JacekHoleczek commented 8 years ago

Thank you, very much, for your hint.

From my own experience, a "module-loopback" eats some additional CPU time when "loaded", even if not used by any application. Hence, one always needs to remember to unload every unused "module-loopback". (I never tried "module-null-source", so I don't know if it also degrades computer's performance.)

My own "workaround" is to use the "PulseAudio Volume Control" (i.e. "pavucontrol") to assign appropriate input and output devices. Unfortunately, Mumble always starts with its "default" settings, so I need to assign them each time I (re)start Mumble.

lichtmetzger commented 8 years ago

I use this on a dedicated server to build a Skype-Mumble bridge. https://schmatzler.de/en/2016/05/26/skypemumble-bruecke-auf-einem-dedizierten-server-einrichten/

The pavucontrol approach doesn't seem to work without the null source. If I select an input no sound is coming through. It's probably because the machine doesn't have a soundcard and therefore the input options in Mumble are greyed out unless I have a null source present.

CPU load is only slightly increasing on the machine, even with everything virtualized. :)

mtekman commented 4 years ago

any update on this?

Krzmbrzl commented 4 years ago

AFAIK no one has had time to work on this yet

mirh commented 4 years ago

"Monitor of built-in Analog Stereo" is available and works for me. Idk about ordering then.

A real bug is that devices query only happens once at boot, and then if you add or remove one from your system you have to restart the whole program to use them.