From: Colin Guthrie Date: Sun, 20 Sep 2009 19:48:58 +0000 (+0100) Subject: device-manager: Reroute the streams on startup and update our cache on enable. X-Git-Tag: submit/2.0-panda/20130828.192557~1251^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25f75342d4e3e2885d751b9625a8eda4c0c1380c;p=profile%2Fivi%2Fpulseaudio-panda.git device-manager: Reroute the streams on startup and update our cache on enable. --- diff --git a/src/modules/module-device-manager.c b/src/modules/module-device-manager.c index 3f3f4a1..745961c 100644 --- a/src/modules/module-device-manager.c +++ b/src/modules/module-device-manager.c @@ -920,7 +920,11 @@ static int extension_cb(pa_native_protocol *p, pa_module *m, pa_native_connectio if (pa_tagstruct_get_boolean(t, &enable) < 0) goto fail; - u->do_routing = enable; + if ((u->do_routing = enable)) { + /* Update our caches */ + update_highest_priority_device_indexes(u, "sink:", NULL); + update_highest_priority_device_indexes(u, "source:", NULL); + } break; } @@ -1158,15 +1162,9 @@ int pa__init(pa_module*m) { PA_IDXSET_FOREACH(source, m->core->sources, idx) subscribe_callback(m->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_NEW, source->index, u); - /* Update our caches (all available devices will be present in our database now */ - update_highest_priority_device_indexes(u, "sink:", NULL); - update_highest_priority_device_indexes(u, "source:", NULL); - - PA_IDXSET_FOREACH(si, m->core->sink_inputs, idx) - subscribe_callback(m->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_NEW, si->index, u); - - PA_IDXSET_FOREACH(so, m->core->source_outputs, idx) - subscribe_callback(m->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_NEW, so->index, u); + /* Perform the routing (if it's enabled) which will update our priority list cache too */ + reroute_sinks(u, NULL); + reroute_sources(u, NULL); pa_modargs_free(ma); return 0;