I hope I have fixed all of Tanu's complaints. I've cleaned it up a little more (the getter functions are gone) and also I added this time the pactl and native-protocol extension. The protocol version was bumped and a new opcode was introduced. I have checked module-tunnel, it seems to work. It would be great if someone else can check this just for confirmation. PROTOCOL | 13 +++++++++++++ configure.ac | 2 +- man/pactl.1.xml.in | 6 ++++++ src/map-file | 1 + src/modules/module-tunnel.c | 5 +++++ src/pulse/introspect.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- src/pulse/introspect.h | 6 ++++++ src/pulsecore/cli-command.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ src/pulsecore/cli-text.c | 5 +++-- src/pulsecore/device-port.c | 28 ++++++++++++++++++++++++++++ src/pulsecore/device-port.h | 3 +++ src/pulsecore/native-common.h | 3 +++ src/pulsecore/protocol-native.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pulsecore/sink.c | 28 ++++++++++++++++++++++++++++ src/pulsecore/sink.h | 7 +++++++ src/pulsecore/source.c | 26 ++++++++++++++++++++++++++ src/pulsecore/source.h | 8 ++++++++ src/utils/pacmd.c | 1 + src/utils/pactl.c | 29 ++++++++++++++++++++++++++---