Hello again, The following patches introduces a new boolean flag to indicate if the rule entry volume is absolute. Client-server now send their extensions list they support. There is no need to call ext_test() with the given solution (it is sent with SET_CLIENT_NAME as suggested by Lennart, kudos:). It does not break API/ABI, but introduces new functions and structure as explained in the patches pa_ext_stream_restore2*. I have run test with valgrind, client/server, and updated pavucontrol to use the "stream-restore-2" extension, it works here (!). But the changes where all over the code, and we were discussing several issues with different solutions on IRC. Maybe the code would not have introduced new strlist functions, for instance, if I knew exactly what it would look like in the end. Hope you like it! Let me conclude with: all that for a fucking bool! :-P good evening, Marc-Andr?? Lureau (4): stream-restore: extend ext-stream-restore stream-restore: add volume_is_absolute bool in server side protocol-native: add "ext_supported" to install_ext() native-protocol: send supported extensions in client & server PROTOCOL | 23 +++++++ configure.ac | 2 +- src/map-file | 2 + src/modules/module-stream-restore.c | 32 +++++++--- src/pulse/context.c | 49 ++++++++++++++- src/pulse/context.h | 3 + src/pulse/ext-stream-restore.c | 117 +++++++++++++++++++++++++++++------ src/pulse/ext-stream-restore.h | 41 ++++++++++++- src/pulse/internal.h | 2 + src/pulse/xmalloc.h | 13 ++++ src/pulsecore/core-util.h | 16 +++++ src/pulsecore/native-common.h | 1 + src/pulsecore/protocol-native.c | 113 ++++++++++++++++++++++++++++++---- src/pulsecore/protocol-native.h | 5 +- src/pulsecore/strlist.c | 37 +++++++++++ src/pulsecore/strlist.h | 9 +++ src/tests/strlist-test.c | 9 +++ 17 files changed, 428 insertions(+), 46 deletions(-)