[pulseaudio-discuss] [PATCH 0/2] Support for forcing old protocol versions.

Tanu Kaskinen tanuk at iki.fi
Mon Jun 13 09:46:26 PDT 2011


On Mon, 2011-06-13 at 09:30 +0100, Colin Guthrie wrote:
> 'Twas brillig, and Tanu Kaskinen at 13/06/11 07:05 did gyre and gimble:
> > Here are two patches that should be usable for working
> > around the protocol incompatibility of the N900 (maybe this
> > could be useful also when testing protocol compatibility
> > when making changes to the protocol?). The first one can be
> > used to limit the client protocol version and the second is
> > for limiting the server protocol version.
> > 
> > The client protocol version is limited by setting the
> > PULSE_PROTOCOL_VERSION_LIMIT environment variable. For
> > example:
> > 
> >     $ PULSE_PROTOCOL_VERSION_LIMIT=15 PULSE_SERVER=my.server.com paplay music.wav
> > 
> > The server protocol version is limited by setting the
> > "protocol-version-limit" module argument of
> > module-native-protocol-*. For example:
> > 
> >     load-module module-native-protocol-tcp protocol-version-limit=15
> 
> Ahh cheers for this. Was wondering if you were going to do this :D
> 
> I was wondering, would it make more sense to use daemon.conf and
> client.conf rather than modargs and env vars here?
> 
> The env var would still be useful IMO for testing quickly, but I can't
> help bug feeling the conf files is more appropriate for this kind of
> setting... perhaps that's just me tho'?

You're absolutely right that this should be configurable in daemon.conf
and client.conf. Adding this to daemon.conf solves the problem that when
using paprefs to load module-native-protocol-tcp, the module argument
can't be given, and using both paprefs and putting the load-module
command in default.pa manually is likely to cause problems, so
configuring this would be much easier if it could be done just by
setting a variable in daemon.conf. Likewise, setting a variable in
client.conf is in many cases easier than messing with environment
variables.

That said, I think both the configuration methods that I provided
originally should be left as is. The environment variable allows the
user to run just one application with the version limit without having
to worry about other apps. Similarly, the setting in daemon.conf might
be too coarse for some use cases: the user may want to load the tcp
module with some limit, but leave the unix module using the normal
protocol version.

I'll post a couple of patches in the near future that add support for
daemon.conf and client.conf configuration. Or do you want that I merge
those features into the two patches that I already sent, and resend the
patches?

-- 
Tanu



More information about the pulseaudio-discuss mailing list