New in v5: - Port properties aren't sent with sink and source info, therefore no protocol changes are needed anymore. - Consequently, pactl doesn't list port properties with "pactl list sinks" and "pactl list sources". - A few patches were dropped from this series and sent separately, because this series doesn't depend on those patches anymore. New in v4: - Doesn't crash 100% of the time. - Fixed port proplists in the native protocol's card info. - Added pa_proplist_key_valid() to the public API. - Changed pa_tagstruct_get_proplist() to allow NULL proplist. - Added port proplists to the native protocol's sink and source info. - Added support to pactl for printing port proplists. Tanu Kaskinen (6): conf-parser: Pass parser state in a struct instead of function parameters. conf-parser: Pass parser state in a struct also for parse callbacks. conf-parser: Add support for parsing property lists. alsa-mixer: Add support for defining port property lists in the path configuration files. native: Send the actual port proplists with card info. pactl: Print card port properties with the "list" command. src/daemon/daemon-conf.c | 222 ++++---- src/modules/alsa/alsa-mixer.c | 594 ++++++++------------ src/modules/alsa/alsa-mixer.h | 1 + .../alsa/mixer/paths/analog-output.conf.common | 4 + src/modules/module-augment-properties.c | 62 +- src/pulse/client-conf.c | 2 +- src/pulsecore/conf-parser.c | 223 ++++---- src/pulsecore/conf-parser.h | 48 +- src/pulsecore/protocol-native.c | 4 +- src/utils/pactl.c | 9 +- 10 files changed, 542 insertions(+), 627 deletions(-) -- 1.7.10