summaryrefslogtreecommitdiffstats
path: root/src/modules/module-raop-discover.c
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2009-03-01 18:10:35 +0000
committerColin Guthrie <cguthrie@mandriva.org>2009-03-01 23:19:31 +0000
commitd293f08442ee750373257dd3f769f14bfbef3432 (patch)
treec8fcd9fc453d6908f03c96203344babd97e5a692 /src/modules/module-raop-discover.c
parent8fc9b19cb314329487a62a15c523e9778298f1d5 (diff)
raop: Allow for nice sink descriptions to be set (interpolated from avahi)
Diffstat (limited to 'src/modules/module-raop-discover.c')
-rw-r--r--src/modules/module-raop-discover.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/modules/module-raop-discover.c b/src/modules/module-raop-discover.c
index df393151..7df549ea 100644
--- a/src/modules/module-raop-discover.c
+++ b/src/modules/module-raop-discover.c
@@ -152,11 +152,18 @@ static void resolver_cb(
if (event != AVAHI_RESOLVER_FOUND)
pa_log("Resolving of '%s' failed: %s", name, avahi_strerror(avahi_client_errno(u->client)));
else {
- char *device = NULL, *dname, *vname, *args;
+ char *device = NULL, *nicename, *dname, *vname, *args;
char at[AVAHI_ADDRESS_STR_MAX];
AvahiStringList *l;
pa_module *m;
+ if ((nicename = strstr(name, "@"))) {
+ ++nicename;
+ if (strlen(nicename) > 0) {
+ pa_log_debug("Found RAOP: %s", nicename);
+ }
+ }
+
for (l = txt; l; l = l->next) {
char *key, *value;
pa_assert_se(avahi_string_list_get_pair(l, &key, &value, NULL) == 0);
@@ -190,10 +197,20 @@ static void resolver_cb(
"sink_name=%s",
avahi_address_snprint(at, sizeof(at), a), port,
vname);*/
- args = pa_sprintf_malloc("server=%s "
- "sink_name=%s",
- avahi_address_snprint(at, sizeof(at), a),
- vname);
+ if (nicename) {
+ args = pa_sprintf_malloc("server=%s "
+ "sink_name=%s "
+ "description=\"%s\"",
+ avahi_address_snprint(at, sizeof(at), a),
+ vname,
+ nicename);
+
+ } else {
+ args = pa_sprintf_malloc("server=%s "
+ "sink_name=%s",
+ avahi_address_snprint(at, sizeof(at), a),
+ vname);
+ }
pa_log_debug("Loading module-raop-sink with arguments '%s'", args);