[pulseaudio-discuss] [RFC] API for setting (default) port

David Henningsson david.henningsson at canonical.com
Wed May 13 00:29:19 PDT 2015

Since many years ago we have an API for setting default source/sink.

Our default routing today is more port centric. So our UIs (at least the 
unity/gnome one) has developed ways around this, so that when a port is 
selected it first selects the right profile if needed.

The problem is that in this world it's becoming more difficult to detect 
what the user actually wants, when the result is a chain of API calls. E 
g, if we first get a "set profile" call, we're not certain whether this 
is the user wanting to change the profile for the currently active port, 
or if this is the first part of a transition to a new port.

To overcome this problem, we should have some new API enabling the UI to 
set the port directly. E g like this:

   pa_set_card_port(card, port, profile, bool default)

If "profile" is NULL, PA is free to choose the most fitting profile.
If default is true, it will not only set the port, but also set the 
default sink/source.
(Card and port must be set.)

This looks to me like a perquisite for better port-based routing. (And 
then we must get the UIs to actually use it, too.) But I'm not sure if 
this interferes with e g Tanu's long time routing plans.
What do you think?

David Henningsson, Canonical Ltd.

More information about the pulseaudio-discuss mailing list