[pulseaudio-discuss] [PATCH v2 02/18] sink, source: Disallow setting NULL description
David Henningsson
david.henningsson at canonical.com
Fri Jun 28 03:59:33 PDT 2013
On 06/28/2013 09:47 AM, Tanu Kaskinen wrote:
> ---
> src/pulsecore/sink.c | 15 +++++----------
> src/pulsecore/source.c | 13 ++++---------
> 2 files changed, 9 insertions(+), 19 deletions(-)
>
> diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
> index cf3a90e..3d039b4 100644
> --- a/src/pulsecore/sink.c
> +++ b/src/pulsecore/sink.c
> @@ -2295,29 +2295,24 @@ pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist
> }
>
> /* Called from main thread */
> -/* FIXME -- this should be dropped and be merged into pa_sink_update_proplist() */
> void pa_sink_set_description(pa_sink *s, const char *description) {
> const char *old;
> +
> pa_sink_assert_ref(s);
> + pa_assert(description);
Are empty names okay ( description[0] == '\0') ? Otherwise you might
want to add that too to your list of assertions.
> pa_assert_ctl_context();
>
> - if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))
> - return;
> -
> old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
>
> - if (old && description && pa_streq(old, description))
> + if (old && pa_streq(old, description))
> return;
>
> - if (description)
> - pa_proplist_sets(s->proplist, PA_PROP_DEVICE_DESCRIPTION, description);
> - else
> - pa_proplist_unset(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
> + pa_proplist_sets(s->proplist, PA_PROP_DEVICE_DESCRIPTION, description);
>
> if (s->monitor_source) {
> char *n;
>
> - n = pa_sprintf_malloc("Monitor Source of %s", description ? description : s->name);
> + n = pa_sprintf_malloc("Monitor Source of %s", description);
> pa_source_set_description(s->monitor_source, n);
> pa_xfree(n);
> }
> diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
> index 98a8bcc..aaa0542 100644
> --- a/src/pulsecore/source.c
> +++ b/src/pulsecore/source.c
> @@ -1852,24 +1852,19 @@ pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_prop
> }
>
> /* Called from main thread */
> -/* FIXME -- this should be dropped and be merged into pa_source_update_proplist() */
> void pa_source_set_description(pa_source *s, const char *description) {
> const char *old;
> +
> pa_source_assert_ref(s);
> + pa_assert(description);
> pa_assert_ctl_context();
>
> - if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))
> - return;
> -
> old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
>
> - if (old && description && pa_streq(old, description))
> + if (old && pa_streq(old, description))
> return;
>
> - if (description)
> - pa_proplist_sets(s->proplist, PA_PROP_DEVICE_DESCRIPTION, description);
> - else
> - pa_proplist_unset(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
> + pa_proplist_sets(s->proplist, PA_PROP_DEVICE_DESCRIPTION, description);
>
> if (PA_SOURCE_IS_LINKED(s->state)) {
> pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the pulseaudio-discuss
mailing list