[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