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

Matthew Patterson matt at v8zman.com
Mon Jun 15 20:09:19 PDT 2009


I built exactly what you are asking for about a year ago and have been 
using it A LOT ever since. I currently have 6 zones (5 sets of speakers 
+ icecast output) and 4 mpd instances. I also have a very rudimentary 
interface to allow any mpd instance to play its sound out of any zone 
(or multiple zones, synced).

I warn you the code is hacky, but perhaps with someone interested in the 
problem it could be cleaned up and turned into a proper open source 
project. It is also based on 0.9.10 and because it works so well (like 
it has NEVER crashed) I haven't ever upgraded anything except MPD to get 
replaygain support.

Email me directly if you are interested.

Matt



Timothy J Massey wrote:
> Hello!
>
> I am trying to build your typical multi-room audio server.  I would like 
> to have a single computer with e.g. 4 copies of MPD as 4 sources, and e.g. 
> 8 USB soundcards, creating 8 sinks.  I would like users to be able to 
> select, independently, for each of the sinks the source that it is 
> using--without disturbing any of the other sinks.  A single source could 
> be played back by any number of sinks independently of each other, and 
> each source would be able to select from any of the available sources, 
> regardless of who else is using it as well.
>
> >From what I can tell, with PA you can pick only which (single) sink a 
> source is connected to.  If you pick a new sink for the source, it is 
> removed from whatever sink it was using before.  And AFAICT, if you want 
> to have a source play via more than one sink, the only way to do this is 
> to create a virtual sink that is a combination of more than one sink.  Is 
> this correct?  It's not really practical to create a virtual sink for each 
> of the possible combinations of e.g. 8 different sinks...
>
> I'm looking for a more flexible structure.  I would like to be able to 
> connect a sink to a source, and leave whatever other sinks that might 
> already be playing from that source *alone*.  For example, if I'm 
> listening to MPD#1 in the living room, and I start moving between the 
> living room and the kitchen, I want to be able to select MPD#1 in the 
> kitchen *and* leave it undisturbed in the living room.  Then, if someone 
> moves into the living room and switches it to MPD#2, I want my playback in 
> the kitchen undisturbed.
>
> What I'm describing is a very typical bus setup that any higher-end 
> multi-zone audio (or mixing board) would support.  Each output can 
> independently connect to one of a number of available sources without 
> affecting any of the other output channels.  The sources don't care which 
> channels (if any) are connecting to them, and the sinks don't care what 
> the other channels are doing.
>
> I apologize in advance if this is a FAQ:  I'm very willing to RTFM--just 
> please tell me which FM to R!  :)  I am open to any suggestions how I 
> might be able to accomplish this, including both different Linux 
> distributions and different sound management layers (i.e. would Jack be 
> better for this?).
>
> Thank you,
>
> Tim Massey
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at mail.0pointer.de
> https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
>   



More information about the pulseaudio-discuss mailing list