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

index 815ec2714008ca97daf6b0e6139667ebfdbdbab5..e65c5ce7a1d354f1074e983c747f676b5b53aac8 100644 (file)
@@ -604,6 +604,20 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {
     return s->muted;
 }
 
+pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_proplist *p) {
+
+    pa_source_assert_ref(s);
+
+    pa_proplist_update(s->proplist, mode, p);
+
+    if (PA_SOURCE_IS_LINKED(s->state)) {
+        pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_PROPLIST_CHANGED], s);
+        pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
+    }
+
+    return TRUE;
+}
+
 /* Called from main thread */
 void pa_source_set_description(pa_source *s, const char *description) {
     const char *old;
index b93e4ad0aa0d6e6556670b6b5df283c73f60e0aa..fd8c4bd62435bf766728d57afeb55c787e914e3a 100644 (file)
@@ -234,6 +234,8 @@ const pa_cvolume *pa_source_get_volume(pa_source *source, pa_bool_t force_refres
 void pa_source_set_mute(pa_source *source, pa_bool_t mute);
 pa_bool_t pa_source_get_mute(pa_source *source, pa_bool_t force_refresh);
 
+pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_proplist *p);
+
 unsigned pa_source_linked_by(pa_source *s); /* Number of connected streams */
 unsigned pa_source_used_by(pa_source *s); /* Number of connected streams that are not corked */
 unsigned pa_source_check_suspend(pa_source *s); /* Returns how many streams are active that don't allow suspensions */