[pulseaudio-discuss] changing sinks on the fly

Colin Guthrie gmane at colin.guthr.ie
Tue Jun 14 09:49:06 PDT 2011


Hiya!

'Twas brillig, and Himanshu Chug at 14/06/11 13:16 did gyre and gimble:
> I need to understand how pulseaudio redirect sink-inputs from one sink
> to another, on the fly or otherwise?
> Say I have an Headset and IHF connected on phone, and I need to switch
> audio across sinks.

OK, this is no problem.

> Also, I need to prioritize the sinks (e.g Headset have more priority
> over IHF), and route the audio based on the sink priority and usecase.

This is a tricky one. Things are going to change in this regard but at
the moment "priority" isn't stored as a list of sinks+their priorities
in the core. Various individual "policy modules" implement rules fro
preferring certain types of sinks for certain types of streams. e.g.
module-intended-roles marks all headset sinks as being "intended" for
phone streams.

Things get even more complicated when you have to switch sink port or
card profile to support a given routing decision (e.g. changing from
A2DP to HSF on Bluetooth devices).


We do also have a "module-device-manager". Which is an optional routing
module (load it with do_routing=1. This *does* implement a priority list
based approach to routing so all the sinks can be prioritised according
to their role.


In the not too distant future, I intend to roll module-device-manager
into the core and implement priority lists there, including support for
automatic profile/port switching if needed, but this will take a little
work.



We will also support UCM from alsa in the not too distant future. There
are a few patches relating to that in review just now but are being held
up by jack detection stuff which I'm quietly hoping David will be able
to make some progress on now he's back from vacation :)


Hopefully this is OK as an overview, but please do feel free to ask for
clarification or more examples.

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]



More information about the pulseaudio-discuss mailing list