[pulseaudio-discuss] [PATCH 0/3] module-port-manager - a new routing module

David Henningsson david.henningsson at canonical.com
Tue Mar 10 07:05:56 PDT 2015

So I finally ended up writing something.

It took longer than expected, partially because I first tried to instead
update module-device-manager to become more port aware, but at the end
of the day, there were just too many things that seemed difficult to transform
into something that made sense to me. (As you see, there are not many rows
that are the same as in module-device-manager...)

So I made this module instead, perhaps more streamlined for the unity/gnome
use case rather than KDE's. As a result, this module currently lacks this
functionality that module-device-manager has:
 * Protocol extensions
 * Role based routing
 * Device description management

None of the above seem impossible to implement if there's a desire for it,
but I'm not sure exactly how to map gnome style user actions into something
role based.

Oh, and an implementation side note. I kept all hooks in a dynarray. Why
don't we do that in all modules? Less code ftw :-)

Consider the code experimental for now - I haven't tested everything well
enough to feel confident about merging it. I still wanted to show it, in order
for people to know what I'm up to, review, test and so on. After all it's a
frequently asked for feature so maybe some testers would be interested in
helping out :-)

David Henningsson (3):
  core, namereg: Add hook for when default sink/source changes
  module-port-manager: Add new port manager module
  default.pa: Load module-port-manager instead of

 src/Makefile.am                   |   8 +
 src/daemon/default.pa.in          |   5 +-
 src/modules/module-port-manager.c | 788 ++++++++++++++++++++++++++++++++++++++
 src/pulsecore/core.h              |   2 +
 src/pulsecore/namereg.c           |   2 +
 5 files changed, 802 insertions(+), 3 deletions(-)
 create mode 100644 src/modules/module-port-manager.c


More information about the pulseaudio-discuss mailing list