[pulseaudio-discuss] [PATCH] bluetooth-policy: retain backwards compatibility

Arun Raghavan arun at arunraghavan.net
Fri Mar 17 02:14:34 UTC 2017


On Wed, 15 Mar 2017, at 11:36 PM, Tanu Kaskinen wrote:
> The auto_switch argument was added in PulseAudio 10.0. In that release
> the argument type was boolean. The type was changed to integer in commit
> 3397127f00. This patch adds backwards compatibility so that old
> configuration files won't break when upgrading PulseAudio to 11.0.
> ---
>  src/modules/bluetooth/module-bluetooth-policy.c | 19 ++++++++++++++++---
>  1 file changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/src/modules/bluetooth/module-bluetooth-policy.c
> b/src/modules/bluetooth/module-bluetooth-policy.c
> index 8d9cd0f3a..316b9a826 100644
> --- a/src/modules/bluetooth/module-bluetooth-policy.c
> +++ b/src/modules/bluetooth/module-bluetooth-policy.c
> @@ -423,9 +423,22 @@ int pa__init(pa_module *m) {
>      m->userdata = u = pa_xnew0(struct userdata, 1);
>  
>      u->auto_switch = 1;
> -    if (pa_modargs_get_value_u32(ma, "auto_switch", &u->auto_switch) <
> 0) {
> -        pa_log("Failed to parse auto_switch argument.");
> -        goto fail;
> +
> +    if (pa_modargs_get_value(ma, "auto_switch", NULL)) {
> +        bool auto_switch_bool;
> +
> +        /* auto_switch originally took a boolean value, let's keep
> +         * compatibility with configuration files that still pass a
> boolean. */
> +        if (pa_modargs_get_value_boolean(ma, "auto_switch",
> &auto_switch_bool) >= 0) {
> +            if (auto_switch_bool)
> +                u->auto_switch = 1;
> +            else
> +                u->auto_switch = 0;
> +
> +        } else if (pa_modargs_get_value_u32(ma, "auto_switch",
> &u->auto_switch) < 0) {
> +            pa_log("Failed to parse auto_switch argument.");
> +            goto fail;
> +        }
>      }
>  
>      u->enable_a2dp_source = true;
> -- 

LGTM.

-- Arun


More information about the pulseaudio-discuss mailing list