From fdf3a0881445560e962924a02319fc5cd2506231 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Mon, 16 May 2011 22:15:57 +0100 Subject: 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'. --- src/pulsecore/protocol-native.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/pulsecore') diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index 501ff378..3574ca98 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -3131,6 +3131,19 @@ static void source_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_s pa_tagstruct_puts(t, source->active_port ? source->active_port->name : NULL); } + + if (c->version >= 22) { + uint32_t i; + pa_format_info *f; + pa_idxset *formats = pa_source_get_formats(source); + + pa_tagstruct_putu8(t, (uint8_t) pa_idxset_size(formats)); + PA_IDXSET_FOREACH(f, formats, i) { + pa_tagstruct_put_format_info(t, f); + } + + pa_idxset_free(formats, (pa_free2_cb_t) pa_format_info_free2, NULL); + } } static void client_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_client *client) { -- cgit