X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=classify.c;h=4d10ce08e025b9a21a1485f500b7a9200b02d167;hb=refs%2Ftags%2F4.99.5;hp=23d991d3aec985ce36f59af8ff2b50ed0d6585c1;hpb=6c2aef81c4182695487fabbd19c5c0a84409b49f;p=staging%2Fagl-audio-plugin.git diff --git a/classify.c b/classify.c index 23d991d..4d10ce0 100644 --- a/classify.c +++ b/classify.c @@ -23,19 +23,28 @@ #include /* required for "pa_streq" */ #include "classify.h" +#include "node.h" -agl_node_type pa_classify_guess_stream_node_type (struct userdata *u, pa_proplist *pl) +agl_node_type agl_classify_guess_stream_node_type (struct userdata *u, pa_proplist *pl) { + agl_nodeset *ns; + agl_nodeset_map *map; agl_node_type type; const char *role; pa_assert (u); pa_assert (pl); + pa_assert_se (ns = u->nodeset); role = pa_proplist_gets (pl, PA_PROP_MEDIA_ROLE); if (!role) type = agl_node_type_unknown; + + /* ask the configuration, see defaults in "config.c" */ + else if (map = pa_hashmap_get (ns->roles, role)) + type = map->type; + /* configuration did not match, here are some sensible defaults */ else if (pa_streq (role, "radio")) type = agl_radio; else if (pa_streq (role, "music"))