diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-09-06 21:55:09 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-09-06 21:55:09 +0000 |
commit | 0fa499db56dc9111ddd866080606cb8b0379280e (patch) | |
tree | 013d82760d80a0c32c7b709985dcb8820504d27d /polyp/namereg.c | |
parent | 3536be420cf9ec6f4f8fbe1dc60b2da0cefba86c (diff) |
add support for setting/getting default sink/source via native protocol
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@182 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/namereg.c')
-rw-r--r-- | polyp/namereg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/polyp/namereg.c b/polyp/namereg.c index 72a4c648..44a9cdc6 100644 --- a/polyp/namereg.c +++ b/polyp/namereg.c @@ -35,6 +35,7 @@ #include "source.h" #include "sink.h" #include "xmalloc.h" +#include "subscribe.h" struct namereg_entry { enum pa_namereg_type type; @@ -186,6 +187,13 @@ void pa_namereg_set_default(struct pa_core*c, const char *name, enum pa_namereg_ s = type == PA_NAMEREG_SINK ? &c->default_sink_name : &c->default_source_name; assert(s); + if (!name && !*s) + return; + + if (name && *s && !strcmp(name, *s)) + return; + pa_xfree(*s); *s = pa_xstrdup(name); + pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX); } |