]> code.delx.au - pulseaudio/commitdiff
device-manager: Let subscribed clients know when something changes.
authorColin Guthrie <cguthrie@mandriva.org>
Sun, 20 Sep 2009 12:57:10 +0000 (13:57 +0100)
committerColin Guthrie <cguthrie@mandriva.org>
Thu, 1 Oct 2009 08:08:29 +0000 (09:08 +0100)
src/modules/module-device-manager.c

index 0a0c39dc934ba795178db983c3b25ec27ad3245a..59aedd6738d34362ff9dc76064fa4e52a2a2515d 100644 (file)
@@ -174,6 +174,22 @@ fail:
 }
 
 static void trigger_save(struct userdata *u) {
+    pa_native_connection *c;
+    uint32_t idx;
+
+    for (c = pa_idxset_first(u->subscribed, &idx); c; c = pa_idxset_next(u->subscribed, &idx)) {
+        pa_tagstruct *t;
+
+        t = pa_tagstruct_new(NULL, 0);
+        pa_tagstruct_putu32(t, PA_COMMAND_EXTENSION);
+        pa_tagstruct_putu32(t, 0);
+        pa_tagstruct_putu32(t, u->module->index);
+        pa_tagstruct_puts(t, u->module->name);
+        pa_tagstruct_putu32(t, SUBCOMMAND_EVENT);
+
+        pa_pstream_send_tagstruct(pa_native_connection_get_pstream(c), t);
+    }
+
     if (u->save_time_event)
         return;