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; -- 2.11.0