]> code.delx.au - pulseaudio/commitdiff
core: add pa_sink_update_proplist
authorMarc-André Lureau <marcandre.lureau@gmail.com>
Fri, 31 Oct 2008 00:33:28 +0000 (02:33 +0200)
committerMarc-André Lureau <marcandre.lureau@gmail.com>
Tue, 13 Jan 2009 14:59:45 +0000 (16:59 +0200)
src/pulsecore/sink.c
src/pulsecore/sink.h

index a4d993cd12f4b08d134a20b6d3e49fedfbe1e535..d5082d530e7049dbf0ac7df8a77bf1e5fc2ae76e 100644 (file)
@@ -953,6 +953,20 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {
     return s->muted;
 }
 
+pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist *p) {
+
+    pa_sink_assert_ref(s);
+
+    pa_proplist_update(s->proplist, mode, p);
+
+    if (PA_SINK_IS_LINKED(s->state)) {
+        pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_PROPLIST_CHANGED], s);
+        pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
+    }
+
+    return TRUE;
+}
+
 /* Called from main thread */
 void pa_sink_set_description(pa_sink *s, const char *description) {
     const char *old;
index 254be3b013a681169d8a0bed41caeb97e5122949..092e30f293aec31e64d7eb745fff41751f8762f4 100644 (file)
@@ -252,6 +252,8 @@ const pa_cvolume *pa_sink_get_volume(pa_sink *sink, pa_bool_t force_refresh);
 void pa_sink_set_mute(pa_sink *sink, pa_bool_t mute);
 pa_bool_t pa_sink_get_mute(pa_sink *sink, pa_bool_t force_refres);
 
+pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist *p);
+
 unsigned pa_sink_linked_by(pa_sink *s); /* Number of connected streams */
 unsigned pa_sink_used_by(pa_sink *s); /* Number of connected streams which are not corked */
 unsigned pa_sink_check_suspend(pa_sink *s); /* Returns how many streams are active that don't allow suspensions */