introspect: Get formats for sources

This gets the list of supported formats for a source in
pa_context_get_source_info*(). Also prints these in 'pactl list'.
This commit is contained in:
Colin Guthrie 2011-05-16 22:15:57 +01:00
parent 5d35375aa7
commit fdf3a08814
5 changed files with 82 additions and 18 deletions

View file

@ -333,7 +333,8 @@ static void get_source_info_callback(pa_context *c, const pa_source_info *i, int
cvdb[PA_SW_CVOLUME_SNPRINT_DB_MAX],
v[PA_VOLUME_SNPRINT_MAX],
vdb[PA_SW_VOLUME_SNPRINT_DB_MAX],
cm[PA_CHANNEL_MAP_SNPRINT_MAX];
cm[PA_CHANNEL_MAP_SNPRINT_MAX],
f[PA_FORMAT_INFO_SNPRINT_MAX];
char *pl;
if (is_last < 0) {
@ -418,6 +419,14 @@ static void get_source_info_callback(pa_context *c, const pa_source_info *i, int
if (i->active_port)
printf(_("\tActive Port: %s\n"),
i->active_port->name);
if (i->formats) {
uint8_t j;
printf(_("\tFormats:\n"));
for (j = 0; j < i->n_formats; j++)
printf("\t\t%s\n", pa_format_info_snprint(f, sizeof(f), i->formats[j]));
}
}
static void get_module_info_callback(pa_context *c, const pa_module_info *i, int is_last, void *userdata) {