--- src/utils/pactl.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/utils/pactl.c b/src/utils/pactl.c index 05a1519..f216938 100644 --- a/src/utils/pactl.c +++ b/src/utils/pactl.c @@ -316,9 +316,15 @@ static void get_sink_info_callback(pa_context *c, const pa_sink_info *i, int is_ pa_sink_port_info **p; printf(_("\tPorts:\n")); - for (p = i->ports; *p; p++) - printf("\t\t%s: %s (priority: %u%s)\n", (*p)->name, (*p)->description, (*p)->priority, + for (p = i->ports; *p; p++) { + printf(_("\t\t%s: %s (priority: %u%s)\n"), (*p)->name, (*p)->description, (*p)->priority, get_available_str_ynonly((*p)->available)); + + if (!pa_proplist_isempty((*p)->proplist)) { + printf(_("\t\t\tProperties:\n\t\t\t\t%s\n"), pl = pa_proplist_to_string_sep((*p)->proplist, "\n\t\t\t\t")); + pa_xfree(pl); + } + } } if (i->active_port) @@ -428,9 +434,15 @@ static void get_source_info_callback(pa_context *c, const pa_source_info *i, int pa_source_port_info **p; printf(_("\tPorts:\n")); - for (p = i->ports; *p; p++) - printf("\t\t%s: %s (priority: %u%s)\n", (*p)->name, (*p)->description, (*p)->priority, + for (p = i->ports; *p; p++) { + printf(_("\t\t%s: %s (priority: %u%s)\n"), (*p)->name, (*p)->description, (*p)->priority, get_available_str_ynonly((*p)->available)); + + if (!pa_proplist_isempty((*p)->proplist)) { + printf(_("\t\t\tProperties:\n\t\t\t\t%s\n"), pl = pa_proplist_to_string_sep((*p)->proplist, "\n\t\t\t\t")); + pa_xfree(pl); + } + } } if (i->active_port) @@ -570,6 +582,8 @@ static void get_card_info_callback(pa_context *c, const pa_card_info *i, int is_ i->owner_module != PA_INVALID_INDEX ? t : _("n/a"), pl = pa_proplist_to_string_sep(i->proplist, "\n\t\t")); + pa_xfree(pl); + if (i->profiles) { pa_card_profile_info *p; @@ -591,6 +605,11 @@ static void get_card_info_callback(pa_context *c, const pa_card_info *i, int is_ printf(_("\t\t%s: %s (priority: %u%s)\n"), (*p)->name, (*p)->description, (*p)->priority, get_available_str_ynonly((*p)->available)); + if (!pa_proplist_isempty((*p)->proplist)) { + printf(_("\t\t\tProperties:\n\t\t\t\t%s\n"), pl = pa_proplist_to_string_sep((*p)->proplist, "\n\t\t\t\t")); + pa_xfree(pl); + } + if (pr) { printf(_("\t\t\tPart of profile(s): %s"), pa_strnull((*pr)->name)); pr++; @@ -602,8 +621,6 @@ static void get_card_info_callback(pa_context *c, const pa_card_info *i, int is_ } } } - - pa_xfree(pl); } static void get_sink_input_info_callback(pa_context *c, const pa_sink_input_info *i, int is_last, void *userdata) { -- 1.7.10