[pulseaudio-discuss] remote source to local sink

Colin Guthrie gmane at colin.guthr.ie
Tue Jan 15 02:18:42 PST 2008

Ulf Behrens wrote:
> Hi folks,
> I'm currently running two pulseaudio servers, one on my windows xp 
> laptop and one on my linux desktop. I want to stream the audio oupput of 
> for example itunes from my laptop to the speakers connected to my linux 
> PC. What I've done up to now:
> - I'm running 'virtual audio cable' as a virtual soundcard on the 
> laptop. This way the audio stream is available as a source stream to 
> pulseaudio on the windows laptop.

Disclaimer: I've not used pulse on windows (been meaning to for a while
- perhaps sometime soon!

> - I'm using module-tunnel-source to connect from my linux desktop to the 
> windows PC. Why is the tunnel module deprecated? What do I loose using 
> this module? And how do I establish this connection directly as it is 
> recommended in the documentation?

Module tunnel is not deprecated. I use it all the time (linux->linux in
my office and at home!).

So in your setup you have your audio source on your laptop/itunes and
the actual sound card on your linux box.

Both should be running pulseaudio server. ON the itunes machine you
should tell pulse to load module-tunnel-sink. This creates a local
virtual audio device on your local machine which actually outputs to the
network attached device.. You can then switch the stream played by
itunes to this virtual device using pavucontrol (assuming this works in

You need to make sure that the server pulseaudio is configured to allow
connections from the network (e.g. with authanonymous or and ip based
ACL rule).

Most of the information can be found on the pulse audio wiki, but I
think there is probably call for some "Scenarios" to be put up there
which give real step-by-step examples of how to achieve a given setup.
I'll maybe try to do that sometime.

FWIW, the best way to do this is to enable autodiscovery - this works
great on Linux but again I'm not 100% sure how things work on windows.
Essentially you need to make sure the server (or all pulseaudio daemons)
have the zeroconf-publish module loaded. This uses
Avahi/Bonjour/Rendevous/<insert new name here> to automatically
broadcast the fact that the machine supports a "pulse audio sink". You
can then use the zeroconf-discover module on the client to automatically
load module-tunnel-sink when it detects these broadcasts. These settings
can be configured via paprefs.

> - finally I have the stream I want to listen to as a source in my 
> pulseaudio server on my linux PC. How to forward to the sink? I've tried 
> to use rtp-send with option loop=1 and rtp-rcv on the same pulseaudio 
> instance. It works, but it is not very elegant and I'm flooding the 
> network with data which is not really needed anywhere. So I'm looking 
> for something like the 'virtual audio cable' for internal use in 
> pulseaudio. Any hints? Anyone already working on a solution?

What you want to do is possible now so no need to worry about it. I
think you may be getting your sources and sinks mixed up. You're stream
on your itunes machine should go something like:

itunes -> win-pa -> tunnel ---> lin-pa -> soundcard -> speakers -> ears

Hope that helps. Swing by #pulseaudio if you're stuck.

/me really needs to play with windows at some point.....


More information about the pulseaudio-discuss mailing list