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/]