[pulseaudio-discuss] native-protocol-tcp vs esound-protocol-tcp

Tanu Kaskinen tanuk at iki.fi
Tue May 11 09:29:39 PDT 2010


On Tue, 2010-05-11 at 12:21 +0700, Antoine Martin wrote:
> Add-to-wishlist: ability to use codecs here would be nice. I doesn't 
> look like I can use ladspa plugins over the tunnel, or can I? If so, how?
> 1.4Mbit/s is a little high when most modern cpus can compress audio to 
> 192Kbit/s on the fly without consuming any significant amount of CPU.

The lack of compression is a known bug :) AFAIK nobody is currently
working on the feature, though.

> >> Is there a way to reduce the bandwidth used if I know in advance that
> >> the line is not going to be able to sustain it? (via some kind of
> >> filter? for my use case, horrible sound quality is better than getting
> >> disconnected! think<512Kbit/s)
> >>      
> > You can run pulseaudio servers locally on the clients and create tunnel
> > sinks. You can configure the tunnel sinks to use a lower-quality stream
> > format (e.g. mono 22050 kHz ->  ~350 kbit/s).
> >    
> Can you expand on that?
> I see no options for changing the bitrate in tunnel:
> http://pulseaudio.org/wiki/Modules#module-tunnel-sinksource
> 
> Does this mean that I have to use another module to create the new 
> source first?

Module-tunnel-sink accepts the generic device options listed in the
beginning of the Modules page. (Yes, the documentation isn't very clear
about this.)

So on the sound-producing client you would put something like this in
default.pa:

load-module module-tunnel-sink server=localhost:12345 sink=<name_of_the_sink_at_the_other_end> sink_name=tunnel_output rate=22050 channels=1 channel_map=mono

The server parameter points to the remote server, except I guess with
ssh tunneling you're going to use localhost (I'm not too familiar with
ssh tunneling)? The sink parameter tells the module which sink at the
remote end should receive the stream. The sink_name parameter gives an
identifier for the local sink - you can choose the name quite freely.
The rest of the parameters define the stream format. The channel_map
parameter is probably redundant - Pulseaudio should be able to guess
that you want a mono stream based on the fact that the channels
parameter has value "1".

Btw, what kind of setup is this? Speeds that are below 512 kbps don't
sound like a reliable link. My understanding is that Pulseaudio doesn't
perform well on links where packets are dropped often, or where
latencies vary a lot.

> >> Finally, is there a way to change the auth-cookie on the fly?
> >> (with/without disconnecting clients if possible)
> >> So that I can revoke the access that I had previously granted to a
> >> remote user.
> >>      
> > I don't see other way than revoking the ssh access for the evil user
> > altogether.
> >    
> Can I force unload the module if it is in use?

Sorry, I don't really understand the question. Which module are you
talking about? Module-tunnel-sink? The module is loaded on the client's
machine, which means that no, you can't unload that from the server
machine.

-- 
Tanu Kaskinen




More information about the pulseaudio-discuss mailing list