[pulseaudio-discuss] Sending audio from source to multiple sinks dynamically

Colin Guthrie gmane at colin.guthr.ie
Wed Jun 17 11:46:54 PDT 2009


'Twas brillig, and Timothy J Massey at 17/06/09 19:00 did gyre and gimble:
>>> Is there a way to communicate with modules once they're loaded?  Such 
> as 
>>> from the PA command line?
>> Not really. A module would have to extend the protocol to do this kind 
>> of stuff.
> 
> I'm surprised by that:  that there isn't a way to pass them a message from 
> the PA command line...  But so be it:  protocol extensions are well beyond 
> what I'm looking for.

Well it's complicated by the fact that PA is not necessarily running 
locally. The "client" side may be speaking to a PA server running on a 
separate machine. Thus whatever input you give it, it has to go over the 
wire. It's not as hard as it sounds tho'.

>> It probably wouldn't take too much to write such a module and avoids 
>> complicated timing problems of connecting sources to sinks.
> 
> It's too bad that modules can't accept messages from e.g. the PA command 
> line.  Because module-combine already does all of this.  It just can't 
> change its list of slaves dynamically...

Yeah, I'm not sure ultimately if it makes more sense to reconfigure an 
existing module-combine instance or create a whole new one, move the 
sink-inputs and then trash the old one. The end result is likely the same.

> Another way of doing this was given to me by Matthew Patterson.  He used 
> module-combine to create a single virtual sink for each sink-input (i.e. 
> each instance of MPD), and included *each* physical sink in that virtual 
> sink.  Then, to control what was actually playing through each physical 
> sink, he would simply mute all sink-inputs for that sink, and unmute the 
> one that the user selected.  The nice thing is that this should not glitch 
> the audio for any sink that's not being changed.

Indeed, it's a nice approach, but not quite as dynamic as it probably 
could be. Still, right now, this is a pretty nifty approach :)

Col

-- 

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

Day Job:
   Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
   Mandriva Linux Contributor [http://www.mandriva.com/]
   PulseAudio Hacker [http://www.pulseaudio.org/]
   Trac Hacker [http://trac.edgewall.org/]




More information about the pulseaudio-discuss mailing list