From 2204bbebf2cd6c72ed436b9bd303f904060c1157 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Tue, 13 Jan 2009 19:06:10 +0200 Subject: core: add source, si, so proplist_update --- src/pulsecore/sink-input.c | 15 +++++++++++++++ src/pulsecore/sink-input.h | 1 + src/pulsecore/sink.c | 1 + src/pulsecore/source-output.c | 15 +++++++++++++++ src/pulsecore/source-output.h | 10 ++++++---- 5 files changed, 38 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index d25cd797..33490cc6 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -859,6 +859,21 @@ pa_bool_t pa_sink_input_get_mute(pa_sink_input *i) { return i->muted; } +/* Called from main thread */ +pa_bool_t pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p) { + + pa_sink_input_assert_ref(i); + + pa_proplist_update(i->proplist, mode, p); + + if (PA_SINK_IS_LINKED(i->state)) { + pa_hook_fire(&i->sink->core->hooks[PA_CORE_HOOK_SINK_INPUT_PROPLIST_CHANGED], i); + pa_subscription_post(i->sink->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_CHANGE, i->index); + } + + return TRUE; +} + /* Called from main context */ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b) { pa_sink_input_assert_ref(i); diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h index 27125988..8cfe32bc 100644 --- a/src/pulsecore/sink-input.h +++ b/src/pulsecore/sink-input.h @@ -294,6 +294,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume); const pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i); void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute); pa_bool_t pa_sink_input_get_mute(pa_sink_input *i); +pa_bool_t pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p); pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i); diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index d5082d53..48c8f794 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -953,6 +953,7 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) { return s->muted; } +/* Called from main thread */ pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist *p) { pa_sink_assert_ref(s); diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index c92c5ab7..e3d0d8b2 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -592,6 +592,21 @@ void pa_source_output_set_name(pa_source_output *o, const char *name) { } } +/* Called from main thread */ +pa_bool_t pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode, pa_proplist *p) { + + pa_source_output_assert_ref(o); + + pa_proplist_update(o->proplist, mode, p); + + if (PA_SINK_IS_LINKED(o->state)) { + pa_hook_fire(&o->source->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED], o); + pa_subscription_post(o->source->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index); + } + + return TRUE; +} + /* Called from main context */ pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) { pa_source_output_assert_ref(o); diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h index f011f9bd..2fdebae0 100644 --- a/src/pulsecore/source-output.h +++ b/src/pulsecore/source-output.h @@ -209,11 +209,11 @@ pa_source_output* pa_source_output_new( void pa_source_output_put(pa_source_output *o); void pa_source_output_unlink(pa_source_output*o); -void pa_source_output_set_name(pa_source_output *i, const char *name); +void pa_source_output_set_name(pa_source_output *o, const char *name); -pa_usec_t pa_source_output_set_requested_latency(pa_source_output *i, pa_usec_t usec); +pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t usec); -void pa_source_output_cork(pa_source_output *i, pa_bool_t b); +void pa_source_output_cork(pa_source_output *o, pa_bool_t b); int pa_source_output_set_rate(pa_source_output *o, uint32_t rate); @@ -222,7 +222,9 @@ int pa_source_output_set_rate(pa_source_output *o, uint32_t rate); /* External code may request disconnection with this funcion */ void pa_source_output_kill(pa_source_output*o); -pa_usec_t pa_source_output_get_latency(pa_source_output *i, pa_usec_t *source_latency); +pa_usec_t pa_source_output_get_latency(pa_source_output *o, pa_usec_t *source_latency); + +pa_bool_t pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode, pa_proplist *p); pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o); -- cgit