bluetooth-policy: retain backwards compatibility

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.
This commit is contained in:
Tanu Kaskinen 2017-03-15 20:02:48 +02:00
parent e26a675263
commit 2530eb8d1b

View file

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