[pulseaudio-discuss] [PATCH v2 0/2] Improve default device policy

Tanu Kaskinen tanuk at iki.fi
Tue Feb 7 12:36:40 UTC 2017


The first patch refactors the default sink/source handling code to make
it easier to add new conditions to how the default sink and source are
chosen. It's not pure refactoring, though: the patch also fixes some
cases where change notifications were not sent, and the D-Bus protocol's
default sink/source functionality should work much better now, and there
are new log messages for default device changes.

The second patch fixes improves the default sink/source selection by
avoiding devices whose active port is unavailable.

Changes in v2:
 - Added a note about the D-Bus protocol bug to the first patch's commit
   message.
 - Changed the default sink/source selection logic to prefer the current
   default device when comparing two devices with the same priority.
 - Removed the redundant call to pa_core_update_default_sink/source()
   when unlinking the current configured default sink or source.
   pa_core_set_configured_default_sink/source() will call that function
   anyway.
 - Made the comment on pa_core.default_sink/source a bit more verbose.
 - Dropped the patch that uses the active port's priority as the
   sink/source priority. The discussion is ongoing about what to do
   about that, so I'll submit that patch separately later, or a
   different patch that achieves the same goal.

Tanu Kaskinen (2):
  refactor default sink/source handling
  core, device-port: check availability when choosing the default device

 src/modules/dbus/iface-core.c               |   8 +-
 src/modules/dbus/iface-sample.c             |  10 +-
 src/modules/module-default-device-restore.c |  14 +--
 src/modules/module-intended-roles.c         |  37 +++---
 src/modules/module-rescue-streams.c         |  20 ++-
 src/modules/module-switch-on-connect.c      |  30 ++---
 src/pulsecore/cli-command.c                 |  20 ++-
 src/pulsecore/cli-text.c                    |  12 +-
 src/pulsecore/core.c                        | 187 ++++++++++++++++++++++++++++
 src/pulsecore/core.h                        |  28 ++++-
 src/pulsecore/device-port.c                 |   8 ++
 src/pulsecore/namereg.c                     | 115 +----------------
 src/pulsecore/namereg.h                     |   6 -
 src/pulsecore/protocol-native.c             |  19 ++-
 src/pulsecore/sink.c                        |   7 ++
 src/pulsecore/source.c                      |   7 ++
 16 files changed, 321 insertions(+), 207 deletions(-)

-- 
2.11.0



More information about the pulseaudio-discuss mailing list