X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=classify.c;h=4d10ce08e025b9a21a1485f500b7a9200b02d167;hb=2478974dfde05063cbf0233e3d3c434ca2f46c7c;hp=c049fad981197722b39942d6497ca474655f0377;hpb=f259ec53101a3754cd2da24a369ea48bb1947e62;p=staging%2Fagl-audio-plugin.git diff --git a/classify.c b/classify.c index c049fad..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 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"))