Skip to content
Permalink
Browse files

PulseAudio: allow monitor devices to be used as inputs.

PulseAudio automatically creates monitors for devices.
These devices were previously explicitly excluded from the
list of input devices by Mumble. Excluding these devices
blocks people from combining multiple streams into Mumble
via PulseAudio.

One possible scenario is listed below:

 Requirement:
  - One wants to combine headset input and sound output
    of a script into mumble.

 Solution:
  - With PulseAudio one creates a virtual sink. Let's
    call it "vscrd1".
  - The headset's input is looped to "vscrd1".
  - The script's audio output is directly directed to
    "vscrd1".
  - Mumble is configured to use the input device
    "vscrd1.monitor"

Now one can talk and send sound to Mumble at the same time.
It also helps much when using sound bots (music etc.).
  • Loading branch information...
BuddyButterfly authored and mkrautz committed Feb 8, 2015
1 parent bc5852d commit 80f1623b934798b313bbeec62e8f0e90ebc39162
Showing with 1 addition and 2 deletions.
  1. +1 −2 src/mumble/PulseAudio.cpp
@@ -425,8 +425,7 @@ void PulseAudioSystem::source_callback(pa_context *, const pa_source_info *i, in
pas->qhSpecMap.insert(name, i->sample_spec);
pas->qhChanMap.insert(name, i->channel_map);

if (i->monitor_of_sink == PA_INVALID_INDEX)
pas->qhInput.insert(QLatin1String(i->name), QLatin1String(i->description));
pas->qhInput.insert(QLatin1String(i->name), QLatin1String(i->description));
}

void PulseAudioSystem::server_callback(pa_context *, const pa_server_info *i, void *userdata) {

0 comments on commit 80f1623

Please sign in to comment.
You can’t perform that action at this time.