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