[PATCH] bluetooth-policy: retain backwards compatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux