summaryrefslogtreecommitdiffstats
path: root/polyp/namereg.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-09-06 21:55:09 +0000
committerLennart Poettering <lennart@poettering.net>2004-09-06 21:55:09 +0000
commit0fa499db56dc9111ddd866080606cb8b0379280e (patch)
tree013d82760d80a0c32c7b709985dcb8820504d27d /polyp/namereg.c
parent3536be420cf9ec6f4f8fbe1dc60b2da0cefba86c (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.c8
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);
}